LangChain 是一个用于构建大语言模型应用的可组合框架,并包含 LangGraph,用于构建健壮、有状态、可循环的多智能体架构。适用于自主智能体与工具调用、复杂检索增强生成(RAG,含文档分块、嵌入、向量索引与重排)、通过 LCEL 的声明式链组合,以及借助 LangSmith 追踪 token 成本、延迟与逐步调用链。
主要能力:LangChain Expression Language(LCEL)支持基于管道符的声明式链执行,具备类型推断与流式输出;RAG 流程可查询向量库并把相关上下文传给模型;工具调用可把自定义 Python 函数绑定为智能体工具;LangGraph 用状态图与条件边实现多轮、有状态、可循环的智能体工作流,相比旧版 AgentExecutor 支持检查点与部分错误恢复。
用法示例:链式组合为 chain = prompt | model | parser,再调用 chain.invoke({...}) 或 chain.stream({...}) 流式输出。RAG 中可把检索器与提示、模型、输出解析器串联。工具通过 @tool 装饰函数并 bind_tools 绑定。LangGraph 中以 StateGraph 定义节点与入口点后 compile。
限制与注意:应面向 LangChain v0.3+,避免使用已弃用的 v0.1 导入路径(langchain.chains、langchain.agents),改从 langchain_core 与 langgraph 导入;不要用手写字符串拼接提示,应使用 ChatPromptTemplate;不要把未校验的用户输入直接传给向量库检索过滤条件。常见问题包括输出解析失败(可用 OutputFixingParser 重试或模型原生结构化输出)、LangGraph 递归超限(检查条件边路由)、流式链限流(可做并发节流或批量调用)。配置 LangSmith 需设置 LANGCHAIN_TRACING_V2=true。
具体环境要求、安装命令、收费与价格信息暂未提供。