在使用 LangChain 开发第一个应用之前,我们首先要有一个能够使用的大语言模型。LangChain 支持多种模型,要选择能够在国内使用的。现在,我们使用阿里的通义千问系列。 注册百炼账号 阿里目前有百炼和灵积两个平台,二者提供的模型基本是一致的。灵积是原始的模型接口,需要通过 API/SDK 进行调用;百炼除了模型本身的 API/SDK,还提供了预置应用模板、预置业务场景模型等,同时这些功能 ...

0 个评论 372 次阅读

工欲善其事,必先利其器。我们会从学习环境的搭建开始这个系列。 Jupyter 是一种交互式笔记本,可以支持多种语言。就我们现在的学习而言,我们所需的是 Python 的执行能力。我们可以把它理解成可以运行 Python 代码的 Web 笔记本应用。它可以直接运行穿插在 Markdown 文件中的 Python 代码,得到代码执行的结果。这对于我们的学习非常有帮助。 现在,我们首先来搭建 Jupyt ...

0 个评论 452 次阅读

在人工智能快速发展的今天,很多开发者都希望能够学习到有关人工智能的相关知识。2018 年,OpenAI 推出了名为 GPT 的系列模型。该模型实现了将“人工智障”真正变换为“人工智能”。这也就是目前最火的 LLM,即大语言模型 Large Language Model。 大语言模型最大的特点就是“大”,它从海量数据中进行学习,可以生成流畅的自然语言,能够理解自然语言的含义。与之相关的,是运行一个大 ...

0 个评论 490 次阅读

本章我们将介绍 JavaScript symbol,以及依赖于此的 JavaScript 新特性。 什么是 JavaScript 中的基本数据类型 primitive data types?简单来说,就是null、undefined、string、number和boolean这几种数据类型。还有别的吗?是的!符号(symbol)是在 ES2016(ES6)中与bigint一起引入的一种新的基本数据 ...

0 个评论 975 次阅读

ECMAScript 2015 规范增加了内部槽盒内部函数,用于指定在运行时对象不被暴露的内部属性和函数。 ECMAScript 2015 规范 6.1.7.2 一节讨论了对象(Object的子类)可以包含的一些奇怪的内部属性和内部函数。这些属性和函数由 JavaScript 引擎实现,但是从运行时抽象出来,因此,你不能像普通属性那样访问它们。 在 ECMAScript 规范中,这些属性被标记为[ ...

0 个评论 2.1K 次阅读

当我们创建 JavaScript 对象时,不论是使用对象字面量语法还是其它别的语法,我们都可以给这些对象添加属性。每一个属性默认会有一个属性描述符。属性描述符就是一个简单的 JavaScript 对象,与目标对象的属性关联起来,包含了该属性的各种信息,比如值value和其它元数据。 在上面的代码中,我们使用字面量语法创建了一个 JavaScript 对象myObj;该对象添加了两个属性myProp ...

0 个评论 2K 次阅读

替换《reflect-metadata 包以及 ECMAScript 提案》 按照维基百科的定义: Metaprogramming is a programming technique in which computer programs have the ability to treat other programs as their data. It means that a program ...

0 个评论 2.2K 次阅读

本文我们将学习 TypeScript 的修饰器模式,以及修饰器是如何改变一个类的。同时,我们也将了解到 reflect-metedata 包是如何帮助我们设计修饰器的。 修饰器是一种注解,放置在类声明或类成员变量之前,用来改变类或属性的行为。如果你是 Angular 开发者,那么就会知道定义 Angular 组件的 @Component修饰器。 上面的例子,@Component注解就是一个修饰器, ...

0 个评论 2.1K 次阅读

本文将介绍 reflect-metadata 包。TypeScript 使用这个包设计装饰器 decorator。这个包原本是为了提供Reflect API 的“元数据扩展” ECMAScript 提案的兼容方案。 元数据 metadata,简而言之,就是实际数据的额外信息(译注:通常被称为数据的数据)。例如,如果一个变量表示一个数组,那么,数组的长度就是一个元数据。类似的,数组中的每个元素都是实 ...

0 个评论 2K 次阅读

本文将介绍 TypeScript 的类型基础,以及 TypeScript 是如何管理类型的。本文将包含类型断言、类型接口、类型联合、类型守卫、结构类型以及其它你需要了解的相关概念。 类型接口 Type Inference 在 TypeScript 中,使用一个值初始化一个变量,不需要为这个变量提供数据类型。TypeScript 编译器会通过赋给的值的类型 type 和形状 shape 来推断(in ...

0 个评论 2.4K 次阅读

关于我

devbean

devbean

豆子,生于山东,定居南京。毕业于山东大学软件工程专业。软件工程师,主要关注于 Qt、Angular 等界面技术。

主题 Salodad 由 PenciDesign 提供 | 静态文件存储由又拍云存储提供 | 苏ICP备13027999号-2