LangChainJS 项目安装与环境配置指南
langchainjs 项目地址: https://gitcode.com/gh_mirrors/lan/langchainjs
前言
LangChainJS 是一个强大的 JavaScript/TypeScript 库,用于构建基于大型语言模型(LLM)的应用程序。本文将详细介绍如何在不同环境中安装和配置 LangChainJS,帮助开发者快速上手这个项目。
环境要求
LangChainJS 支持多种 JavaScript 运行环境,主要包括:
- Node.js 18.x 及以上版本(推荐使用最新LTS版本)
- 浏览器环境(通过打包工具如Webpack或Vite)
- 边缘计算环境(如Vercel Edge Functions等)
- Deno 和 Bun 运行时
需要注意的是,虽然核心库支持这些环境,但某些特定集成功能可能受限于运行环境。
基础安装
使用包管理器安装 LangChainJS 核心库:
# 使用 npm
npm install langchain
# 使用 Yarn
yarn add langchain
# 使用 pnpm
pnpm add langchain
TypeScript 支持
LangChainJS 完全使用 TypeScript 开发,所有公共 API 都提供了完整的类型定义,为开发者提供了优秀的类型提示和代码补全体验。
集成包管理
LangChainJS 采用模块化设计,核心功能与第三方集成分离。这种架构带来了灵活性,但也需要注意版本兼容性。
核心依赖关系
@langchain/core
:包含基础抽象和LangChain表达式语言@langchain/community
:社区维护的第三方集成集合- 特定集成包:如
@langchain/google-genai
等
版本一致性解决方案
为确保所有集成包使用相同版本的@langchain/core
,建议在项目中添加版本覆盖配置:
// package.json 示例 (npm)
{
"overrides": {
"@langchain/core": "0.1.5"
}
}
// package.json 示例 (yarn)
{
"resolutions": {
"@langchain/core": "0.1.5"
}
}
// package.json 示例 (pnpm)
{
"pnpm": {
"overrides": {
"@langchain/core": "0.1.5"
}
}
}
不同环境下的使用方式
Node.js 环境
ESM 方式导入
import { OpenAI } from "@langchain/openai";
建议 TypeScript 配置:
{
"compilerOptions": {
"target": "ES2020",
"module": "nodenext"
}
}
CommonJS 方式导入
const { OpenAI } = require("@langchain/openai");
浏览器环境
通过打包工具(Webpack/Vite等)构建:
import { OpenAI } from "@langchain/openai";
边缘计算环境
边缘函数环境
import { OpenAI } from "@langchain/openai";
Vercel/Next.js
支持在以下场景使用:
- 前端组件
- 无服务器函数
- 边缘函数
Deno/Supabase Edge Functions
两种导入方式:
// 通过 esm.sh
import { OpenAI } from "https://esm.sh/@langchain/openai";
// 或直接使用 npm 包
import { OpenAI } from "npm:@langchain/openai";
不推荐的环境:Node.js 16
虽然 LangChainJS 官方不再支持 Node.js 16,但如果必须使用,需要以下额外配置:
-
全局提供 fetch API:
- 启动时添加参数:
NODE_OPTIONS='--experimental-fetch'
- 或安装
node-fetch
并全局配置
- 启动时添加参数:
-
安装 polyfill:
npm i web-streams-polyfill
- 在主入口文件中添加:
import "web-streams-polyfill/es6";
- 还需 polyfill
structuredClone
,可通过安装core-js
实现
最佳实践建议
- 始终使用 Node.js 18+ 版本以获得最佳兼容性
- 在大型项目中,优先考虑 ESM 模块系统
- 定期检查并更新核心依赖版本
- 对于生产环境,锁定关键依赖的版本号
通过以上配置,开发者可以在各种环境中顺利使用 LangChainJS 构建基于大语言模型的应用程序。
langchainjs 项目地址: https://gitcode.com/gh_mirrors/lan/langchainjs
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考