admin管理员组

文章数量:1558092

LangChain No.2

目录

    • 1. 安装
    • 2. 加载
    • 3. 环境变量
    • 4. 创建一个应用

接上篇,LangChain是一个由语言模型支持的用于开发应用程序的框架。它可以使用应用程序具有以下功能:

  • 数据感知:它可以使大语言模型链接到其它的数据库
  • 代理:允许语言模型与自己的环境进行交互

LangChain是由TypeScript编写的,它可以用在Node.js、浏览器、Cloudflare Workers等多个环境中,本文主要是在Node.js环境中使用,对它的使用过程进行介绍:

1. 安装

LangChain要求Node.js的版本在18.x以上,可以直接安装最新版本,或指定18.x以上的某个版本。

使用如下命令安装LangChain

npm install -S langchain
// 或
yarn add langchain
// 或
pnpm add langchain

2. 加载

LangChain针对Node.js环境分别做了ESMCommonJS构建,所以,可以以两种模式使用LangChain

  • 如果是在ESM模式下,可使用如下方法导入:

    import { OpenAI } from "langchain/llms/openai";
    

    如果使用TypeScript,还需要在项目的tsconfig.json文件中加入如下配置:

    {
      "compilerOptions": {
        ...
        "target": "ES2020", // or higher
        "module": "nodenext",
      }
    }
    
  • 如果是CommonJS模式,则使用如下方法导入即可:

    const { OpenAI } = require("langchain/llms/openai");
    

3. 环境变量

首先需要到OpenAI去获取key,可以点击这里,注册账号并获取到key作为环境变量进行使用。初始化模型的时候都需要用到该key。

export const OPENAI_API_KEY="..."

4. 创建一个应用

现在我们就可以开始创建一个大语言模型的应用了。LangChain提供了很多个模块,下面模拟通过语言模块创建一个简单预测应用,它的主要功能是:根据提示词输出想要的结果,输出形式为文本。

import { OpenAI } from "langchain/llms/openai";

const llm = new OpenAI({
  openAIApiKey: OPENAI_API_KEY
});

const result = await llm.predict("What would be a good company name for a company that makes colorful socks?");
// "Feetful of Fun"

运行以上代码,即可获得一个文本的输出。可以看到,这是一个输入文本并且输出文本的模型。你还可以修改predict内的文案,可以获得各种不同的结果。

另外一个比较典型的模型是聊天模型,它也是语言模型的变种,不同的是,它是一种“消息输入,消息输出”的模式,而不是“文本输入文本输出”的模式。聊天模型的一个简单使用如下:

import { ChatOpenAI } from "langchain/chat_models/openai";
import { HumanMessage, ChatMessage, SystemMessage } from "langchain/schema";

const chat = new ChatOpenAI({
  temperature: 0
});

const result = await chat.predictMessages([
  new HumanMessage("Translate this sentence from English to French. I love programming.")
]);

/*
  AIMessage {
    content: "J'adore la programmation."
  }
*/

另外,开始学习LangChain,还需要掌握Prompt Templates 提示词模板ChainsAgentMemory等。

本文标签: 系列文章LangChain