赞
踩
LangChain 使用 TypeScript 编写,可用于以下环境:
如果您想在Node.js中快速开始使用LangChain,请克隆此存储库并按照README说明进行设置,以获得一个已设置这些依赖项的样板项目。
如果您更喜欢自己设置环境,或者想在其他环境中运行LangChain,请继续阅读以下说明。
要开始使用,可以使用以下命令安装LangChain:
npm install -S langchain
LangChain使用TypeScript编写,并为其所有公共API提供类型定义。
LangChain提供了一个ESM构建,针对Node.js环境。您可以使用以下语法导入它:
import { OpenAI } from "langchain/llms/openai";
如果您在 ESM 项目中使用 TypeScript,我们建议更新您的 tsconfig.json
文件,包含以下内容:
{
"compilerOptions": {
...
"target": "ES2020", // or higher
"module": "nodenext",
}
}
LangChain 提供了一个针对 Node.js 环境的 CommonJS 构建。您可以使用以下语法导入它:
const { OpenAI } = require("langchain/llms/openai");
LangChain 可以在 Cloudflare Workers 中使用。您可以使用以下语法导入它:
import { OpenAI } from "langchain/llms/openai";
LangChain 可以在 Vercel / Next.js 中使用。我们支持在前端组件、无服务器函数和边缘函数中使用 LangChain。您可以使用以下语法导入它:
import { OpenAI } from "langchain/llms/openai";
LangChain 可以在 Deno / Supabase Edge Functions 中使用。您可以使用以下语法导入它:
import { OpenAI } from "https://esm.sh/langchain/llms/openai";
我们建议查看我们的 Supabase 模板 以了解如何在 Supabase Edge Functions 中使用 LangChain。
LangChain 可以在浏览器中使用。在我们的 CI 中,我们测试了将 LangChain 与 Webpack 和 Vite 捆绑在一起,但其他捆绑器也应该可以工作。您可以使用以下语法导入它:
import { OpenAI } from "langchain/llms/openai";
如果您正在从 LangChain 0.0.52 之前的版本更新,则需要更新您的导入以使用新的路径结构。
例如,如果您之前使用的是
import { OpenAI } from "langchain/llms";
现在您需要使用
import { OpenAI } from "langchain/llms/openai";
这适用于以下6个模块的所有导入,这些模块已被拆分为每个集成的子模块。组合模块已被弃用,在Node.js之外无法使用,并将在将来的版本中删除。
langchain/llms
,请参阅 LLMs 以获取更新的导入路径。langchain/chat_models
,请参阅 Chat Models 以获取更新的导入路径。langchain/embeddings
,请参阅 Embeddings 以获取更新的导入路径。langchain/vectorstores
,请参阅 Vector Stores 以获取更新的导入路径。langchain/document_loaders
,请参阅 Document Loaders 以获取更新的导入路径。langchain/retrievers
,请参阅 Retrievers 以获取更新的导入路径。其他模块不受此更改影响,您仍然可以从相同的路径导入它们。
此外,为了支持新的环境,有一些重大更改:
import { Calculator } from "langchain/tools";
现在已移动到
import { Calculator } from "langchain/tools/calculator";
import { loadLLM } from "langchain/llms";
现在已移动到
import { loadLLM } from "langchain/llms/load";
import { loadAgent } from "langchain/agents";
现在已移动到
import { loadAgent } from "langchain/agents/load";
import { loadPrompt } from "langchain/prompts";
现在已移动到
import { loadPrompt } from "langchain/prompts/load";
import { loadChain } from "langchain/chains";
现在已移动到
import { loadChain } from "langchain/chains/load";
我们不支持 Node.js 16,但如果您仍然想在 Node.js 16 上运行 LangChain,则需要按照本节中的说明进行操作。我们不保证这些说明将来仍然有效。
您需要使 fetch
全局可用,可以通过以下方式之一实现:
NODE_OPTIONS='--experimental-fetch' node ...
命令运行您的应用程序,或者node-fetch
并按照这里的说明进行操作此外,您还需要使用 polyfill unstructuredClone
,例如安装 core-js
并按照这里的说明进行操作。
如果您正在运行 Node.js 18+,则无需进行任何操作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。