LangChain 是构建 LLM 应用的主流框架,定位为用智能体、链和 RAG 来开发 LLM 驱动的应用。
【用途与适用场景】 资料列出适合使用 LangChain 的场景包括:构建带工具调用和推理(ReAct 模式)的智能体;实现 RAG(检索增强生成)管线;需要轻松切换 LLM 提供商(OpenAI、Anthropic、Google);创建带对话记忆的聊天机器人;快速原型开发 LLM 应用;借助 LangSmith 可观测性进行生产部署。资料同时建议在以下情况改用替代方案:LlamaIndex 更聚焦 RAG、更适合文档问答;LangGraph 适合复杂有状态工作流、控制力更强;Haystack 用于生产检索管线;Semantic Kernel 面向微软生态。
【主要能力与核心概念】
- 模型(Models):LLM 抽象层,可用 ChatOpenAI、ChatAnthropic、ChatGoogleGenerativeAI 等,方便切换提供商,并支持流式输出(stream)。
- 链(Chains):顺序操作,通过 PromptTemplate 定义提示模板,用 LLMChain 组合运行,例如生成关于某主题的三句话摘要。
- 智能体(Agents):工具调用推理,采用 ReAct(推理+行动)模式,用 create_tool_calling_agent、AgentExecutor 及自定义 Tool 构建,可在多步中自动调用工具。
- 记忆(Memory):对话历史,通过 ConversationBufferMemory 与 ConversationChain 实现多轮对话记忆。
- RAG:基础管线包括文档加载(如 WebBaseLoader)、文本切分(RecursiveCharacterTextSplitter,chunk_size=1000、chunk_overlap=200)、embedding 与向量存储(Chroma)、检索器(as_retriever,k=4)以及 RetrievalQA 问答链,可返回来源文档。还支持带记忆的 ConversationalRetrievalChain 多轮 RAG。
- 高级模式:结构化输出(with_structured_output + Pydantic 模型)、并行工具执行、流式智能体执行。
- 常见模式:多文档问答(load_qa_with_sources_chain)并附来源引用;带错误处理的自定义工具(@tool 装饰器 + try/except)。
- LangSmith 可观测性:设置 LANGCHAIN_TRACING_V2、LANGCHAIN_API_KEY、LANGCHAIN_PROJECT 后,链与智能体会被自动追踪。
- 向量存储:资料给出 Chroma(本地)、Pinecone(云)、FAISS(相似度搜索)的用法示例。
- 文档加载器:网页、PDF、GitHub、CSV 等。
- 文本切分:递归切分(通用推荐)、PythonCodeTextSplitter(代码感知)、SemanticChunker(按语义,来自 langchain_experimental)。
【使用方式】 安装:核心库 pip install -U langchain(需 Python 3.10+);按提供商安装 pip install langchain-openai 或 pip install langchain-anthropic;常见扩展 pip install langchain-community(500+ 集成)、pip install langchain-chroma(向量存储)。基础用法为初始化模型后调用 llm.invoke();构建智能体用 create_agent(model=..., tools=[...], system_prompt=...) 并用 agent.invoke({"messages": [...]}) 运行。
【最佳实践】 从简单开始,多数情况用 create_agent();启用流式提升体验;为工具添加错误处理;使用 LangSmith 调试智能体;RAG 分块建议 500-1000 字符;对提示进行版本管理;缓存 embedding;用 LangSmith 监控成本。
【性能与对比】 资料给出的参考延迟:简单 LLM 调用约 1-2 秒;带 1 个工具的智能体约 3-5 秒;RAG 检索约 0.5-1 秒;embedding 1000 篇文档约 10-30 秒(均依提供商/模型而定)。LangChain 与 LangGraph 对比:LangChain 适合快速智能体与 RAG、抽象层级高、启动代码少于 10 行、控制简单;LangGraph 适合复杂工作流、抽象层级低、约 30 行起、可全控制、原生支持有状态工作流与循环图及高级人机协同。
【指标与资源】 GitHub 星标 119,000+;272,000+ 仓库使用;500+ 集成;3,800+ 贡献者。版本 0.3+(稳定),许可证 MIT。官网文档 https://docs.langchain.com,API 参考 https://reference.langchain.com/python,LangSmith https://smith.langchain.com,GitHub https://github.com/langchain-ai/langchain。
【限制】 资料未提供具体收费与价格信息,该部分暂未提供。