Skip to content

Langchain基本介绍

在大模型时代,LangChain 是一个帮助开发者快速构建“智能应用” 的工具框架。它像是你搭建 AI 应用时的“万能胶水”——把大模型(如 OpenAI、LLM API)、工具(如搜索引擎、数据库)、记忆能力、链式调用等模块统统串联起来,组成一个可交互、可记忆、有逻辑的智能体(Agent)。

基本介绍#

LangChain 能做什么?

除了 LangChain,AI 应用开发领域还有不少优秀的框架,它们的侧重点略有不同:

框架核心优势
LangChain模块化 + 全功能集成,适用于 RAG / Agent / Memory 全场景
LlamaIndex专注于文档索引 + 检索,用于构建高性能 RAG 系统
Haystack企业级搜索方案,支持复杂问答管线和评估工具
Transformers AgentsHuggingFace 出品,灵活组合各种模型,偏原始
OpenDevin / AutoGen多 Agent 协同执行任务,适合流程分工和协作系统

那我们为什么选 LangChain?

1. 全家桶式体验,一套代码搞定多种需求

LangChain 提供了覆盖 LLM 应用各个关键维度的模块,助你快速构建复杂的智能体:

模块说明
Models支持 OpenAI、Anthropic、Llama 等多种模型,封装调用细节与响应结构
Prompts提供模板引擎和变量插值机制,让提示词更易复用
Indexes索引与检索接口,构建企业级知识库的核心能力
Memory支持对话中记忆上下文(短期 + 长期),提升交互连贯性
Chains串联多个步骤形成逻辑工作流,是 LangChain 的“灵魂”
Agents构建“能自己调用工具”的大模型智能体,实现真正的自主行为
image-20250614090552938

这些模块既可以单独使用,也可以灵活组合,是 LangChain 架构的核心拼图。

2. 社区活跃,生态丰富

LangChain 是 GitHub 上最活跃的 AI 开发框架之一:

你几乎不需要担心“没人维护”或“找不到用法”,查资料、找方案非常顺畅

3. 更适合教学和快速原型开发

LangChain 模块命名清晰、调用语义直观,非常适合:

即便你最终选择不上线 LangChain,也能用它验证思路、锤炼技能、搭建 demo,是入门智能体开发的绝佳“训练营”。

支持的语言#

很多刚接触 LangChain 的开发者常会误以为:“是不是只有 Python 才能用 LangChain?” 事实上,LangChain 早已不再局限于 Python,它正在朝多语言生态快速扩展,逐步覆盖不同开发者的语言偏好和项目需求。

可以这样理解:LangChain 的核心思想是跨语言通用的,只是目前不同语言版本在支持深度和生态丰富度上有所差异。

当前支持的语言概览

语言支持状况描述
Python主打语言,功能最完善,文档详实,社区活跃,是首选学习语言
JavaScript / TypeScript支持度较高,适合构建前端/边缘/Node.js 应用,生态逐步完善
Go处于初期阶段,有基础模块,适合开发轻量后端服务
Rust实验性尝试,主要聚焦于高性能组件如向量数据库等

如果你希望全面掌握 LangChain 的完整能力(比如 Agent 工作流、RAG 检索、Tool 调用等),推荐先选择 Python:

可以说,Python 是 LangChain 的旗舰体验版,特别适合教学、实验、原型开发等全场景使用。

JavaScript / TypeScript 支持情况

对于前端工程师或偏向 JS/TS 技术栈的开发者,LangChain.js 同样具备相当强的能力,当前支持:

虽然还不支持所有 Python 特性(比如复杂 Agent 组合、部分 Memory 类型),但构建一个 AI 聊天机器人或 RAG 问答系统已经绰绰有余

下面的表格是两种语言版本之间模块支持维度的对比:

功能模块Python 支持情况JS/TS 支持情况
模型接入(LLM)✅ 支持最广,封装完整,支持同步/异步流式调用✅ OpenAI、Anthropic 等主流模型支持到位
提示词模板(Prompt)✅ 模板功能丰富,支持 FewShot、动态变量插值等✅ 支持标准 PromptTemplate 机制,用法一致
记忆模块(Memory)✅ 多类型支持:缓冲、摘要、持久化、Token 限制等✅ 基础支持:ChatHistory、部分 Memory 类型可用
链式调用(Chains)✅ 类型齐全:SequentialChain、RetrievalChain 等✅ 支持核心链类型,组合逻辑灵活
智能体系统(Agents)✅ 完整支持:MRKL、OpenAI Agent、Conversational 等✅ LangGraph.js 支持复杂 Agent,已可实现多工具调用
工具集成(Tools)✅ 官方工具众多(搜索、TTS、数据库、浏览器等)🔶 支持主流 API 工具,集成数量相对较少
文档加载 & 检索(Loaders)✅ 支持网页、PDF、CSV、数据库等百种类型✅ 支持主流加载器,文档处理逐步扩展
向量数据库(Vector Stores)✅ 覆盖广泛:FAISS、Chroma、Milvus、Redis、PG 等✅ 支持 Supabase、Weaviate、Pinecone 等核心产品
部署平台支持✅ 深度集成 LangSmith / LangGraph(Python为主)✅ 支持部署至 Edge、Serverless 等现代平台

课堂练习

LangChain快速上手

import { Ollama } from '@langchain/ollama'
// 创建模型实例
const model = new Ollama({
model: 'llama3',
})
const prompt = '你是一位中文智能助手,请你用中文回答 AI 对人类文明的影响?'
const res = await model.invoke(prompt)
console.log(res)

流式输出:

import { Ollama } from '@langchain/ollama'
// 创建模型实例
const model = new Ollama({
model: 'llama3',
})
const prompt = '你是一位中文智能助手,请你用中文回答 AI 对人类文明的影响?'
const res = await model.stream(prompt)
// 实时读取输出内容
for await (const chunk of res) {
process.stdout.write(chunk)
}