mcpField
L
langchain

langchain

github.com/magnus919开发16164 次安装1 天前更新
代码仓库

关于 langchain

面向使用 LangChain 构建大模型应用的开发者参考技能,涵盖 LCEL 链、RAG、Agent 和生产部署,并提供与 LangChain v1.0 对应的指导。

主要功能

  1. 01LCEL 链组合
  2. 02RAG 流水线指导
  3. 03使用 create_agent 创建 Agent
  4. 04LangSmith 可观测性与部署
  5. 05从 AgentExecutor 迁移的指导

适用场景

  1. 01将提示词、模型和解析器组合为链
  2. 02构建文档问答流水线
  3. 03创建可调用工具的 Agent
  4. 04为 LangChain 应用准备生产部署

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/magnus919/agent-skills --skill langchain

安装后在 Claude Code 中输入/langchain确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
evals/
evals.json
references/
agent-patterns.md
architecture.md
callbacks.md
faq-and-troubleshooting.md
integration-ecosystem.md
lcel-reference.md
production-deployment.md
rag-strategies.md
validation-audit.md
scripts/
check-setup.py
templates/
agent-with-tools.py
basic-chain.py
production-deploy.py
rag-pipeline.py

详细介绍

LangChain 专家技能

LangChain 是一个采用 MIT 许可、用于构建由大模型驱动的应用的 Python 框架。自 v1.0(2025 年 10 月)起,它提供分层架构:通过 LCEL(LangChain Expression Language)进行高层链组合,通过 create_agent 创建 Agent(底层运行于 LangGraph 运行时),并借助 LangSmith 实现生产环境可观测性。它拥有 1000 多项集成和 10 万多个 GitHub 星标,是应用最广泛的大模型编排框架。

v1.0 的关键变化: 所有新的 LangChain Agent 都运行于 LangGraph 运行时。AgentExecutor 将进入维护模式,直至 2026 年 12 月。创建新 Agent 时请使用 create_agent。需要完全控制状态机时,直接使用 LangGraph。

⚠️ 关键:不要在新代码中使用 AgentExecutor。 它将进入维护模式,直至 2026 年 12 月。请改用 create_agent(model, tools, prompt)——它开箱即用地生成具有流式处理、持久化和可观测性的 LangGraph 状态机。

核心原则

使用 LangChain 构建时,每项决策都应遵循这些原则。继续阅读参考指南之前,请先了解这些原则。

  1. LCEL 是组合的基本构件。 管道运算符(|)可串联 Runnables。每个组件——提示词、模型、解析器、检索器——都实现 Runnable 接口。所有内容都通过 LCEL 构建。
  2. Agent 运行于 LangGraph 之上。 自 v1.0 起,create_agent 会在底层生成 LangGraph 状态机。无需编写图代码,即可获得流式处理、持久化和可观测性。需要分支、循环或人在回路中时,直接使用 LangGraph。
  3. RAG 是一条链,而非一个框架。 retriever | prompt | model | parser 是规范的 RAG 模式。文档加载器、分割器和向量存储都是可互换的组件。
  4. LangSmith 提供生产环境可观测性。 启动时启用追踪。89% 的生产团队使用可观测性——没有它,调试 Agent 行为只能靠猜。
  5. 生态系统是竞争优势。 1000 多项集成意味着模型提供商、向量存储和工具只需一行代码即可替换。面向接口构建,而非面向实现。

从这里开始

你已有……从这里开始
什么都没有——空白项目安装 LangChain,构建一个基本的 LCEL 链
要查询的文档构建 RAG 链(加载、分割、嵌入、检索、生成)
实现 Agent 行为的需求使用 create_agent 和工具
现有的 AgentExecutor 代码迁移到 create_agent——参见 references/agent-patterns.md
生产环境部署添加 LangSmith 追踪和 LangServe 部署
正在比较框架参见 Framework Routing Guide

流水线模式

模式适用场景要运行的阶段跳过
快速单条链、探索prompt → model → parser检索、Agent、生产加固
RAG文档问答load → split → embed → retrieve → generateAgent 编排、部署
Agent使用工具的 Agentcreate_agent + tools + LangGraph 运行时简单链即可满足需求时
生产面向用户发布RAG/Agent + LangSmith + LangServe无

快速参考

任务方法参考
基本链prompt | model | parserreferences/lcel-reference.md
RAG 流水线retriever | prompt | model | parserreferences/rag-strategies.md
创建 Agentcreate_agent(model, tools, prompt)references/agent-patterns.md
工具定义@tool 装饰器references/agent-patterns.md
多 AgentLangGraph supervisor 模式references/agent-patterns.md
可观测性设置 LANGCHAIN_TRACING_V2=truereferences/production-deployment.md
部署LangServe 或 LangSmith Deploymentreferences/production-deployment.md
向量存储一行替换(Chroma、Pinecone、pgvector)references/integration-ecosystem.md

何时使用此技能

在以下任何情况下,都应加载此技能:

  • 为由大模型驱动的应用构建 LCEL 链
  • 在企业或个人数据上实现 RAG 流水线
  • 创建能够调用工具并进行多步推理的 Agent
  • 将大模型应用部署到生产环境并进行可观测性监控
  • 比较 LangChain 与 LlamaIndex、Haystack 或原始 API 调用

框架选择指南

此技能属于一系列框架技能。选择合适的框架时:

场景选择原因
我需要组合链LangChainLCEL 是最简洁的管道式组合模型
我需要查询文档LlamaIndex数据摄取和检索是其一等原语
我需要编排 AgentLangGraph状态机语义、子图和人在回路
我需要将工具封装为 AgentPydanticAI通过依赖注入定义类型安全的 Agent
我需要搜索流水线Haystack其流水线模型更适用于搜索工作负载
快速构建任何类型的原型LangChain从零开始到链可运行,路径最快
Agent 工作流中类型化且有界的决策System OneSystem One 负责问题/模型行为和校准;使用 LangChain 中间件或外层条件编排作为实现接缝,并使用 harness-engineering 确定位置并评估整体任务结果

参考文件

参考资料何时加载文件
LCEL 参考使用管道运算符构建链时references/lcel-reference.md
架构了解软件包结构、Runnable 和 v1.0 时references/architecture.md
RAG 策略构建 RAG 流水线时references/rag-strategies.md
Agent 模式使用工具创建 Agent 或多 Agent 时references/agent-patterns.md
Agent 中的类型化 System One 决策确定适配器接缝、未知分支,以及模型语义与框架结果之间的交接方式references/agent-patterns.md — 参阅“让类型化决策位于聊天模型之外”;有关位置和整体任务证据,请继续参阅 harness-engineering
生产与部署使用 LangServe、LangSmith 和部署时references/production-deployment.md
集成生态系统使用模型提供商、向量存储和工具时references/integration-ecosystem.md
常见问题与故障排除查找常见错误和解决方法时references/faq-and-troubleshooting.md
回调系统实现自定义日志记录、监控和 Agent 审计时references/callbacks.md
验证审计验证所有 API 声明的研究结果时references/validation-audit.md

模板文件

模板使用时机文件
基础链单个提示词→模型→解析器链templates/basic-chain.py
RAG 流水线通过检索进行文档问答templates/rag-pipeline.py
带工具的 Agent使用 LangGraph 运行时的工具调用 Agenttemplates/agent-with-tools.py
生产部署使用 LangSmith 部署 LangServetemplates/production-deploy.py

脚本

脚本用途文件
check-setup验证 LangChain 是否已安装scripts/check-setup.py

故障排查指南

症状可能原因修复方法参考
链没有返回任何内容未连接输出解析器添加 .pipe(StrOutputParser()) 或同等配置references/lcel-reference.md
Agent 未调用工具工具架构不匹配检查工具是否有文档字符串和类型提示references/agent-patterns.md
缺少 LangSmith 跟踪记录未设置 LANGCHAIN_TRACING_V2在执行任何链之前设置环境变量references/production-deployment.md
弃用警告正在使用 AgentExecutor迁移到 create_agent(LangGraph 运行时)references/agent-patterns.md
找不到模型缺少集成包安装 langchain-openai、langchain-anthropic 等references/integration-ecosystem.md
流式传输无法正常工作LCEL 链不支持原生流式传输确保所有组件都实现了 stream()references/lcel-reference.md
向量存储连接失败凭据错误或缺少软件包安装 langchain-community 和提供方软件包references/integration-ecosystem.md

何时不应使用 LangChain

  • 单模型、单提示词应用——直接调用 API 更简单,也更便于调试
  • 需要最大程度的透明性——LangGraph(LangChain 底层使用的框架)可提供更高的可见性
  • 纯多 Agent 状态机——直接使用 LangGraph 才是正确选择,而不是使用高级 API
  • 不需要大模型编排的无状态微服务——LangChain 只会增加开销,没有任何益处

评论

支持 Markdown