Learning Path
浏览 LangChain 相关教程与章节。
AI Agent、机器学习、深度学习、数据分析与 Python 科学计算。
教程
43
LangChain 教程 LangChain 是一套用于构建 AI 智能体(AI Agent)和大语言模型(LLM)应用的开发框架。 LangChain 可以帮助开发者快速构建基于 GPT、Claude、Gemini 等大模型的复杂 AI 应用。 LangChain 由 Harrison Chase 于 2022 年 10 月推出,核心目标是:简化大语言模型应用开发流程。 LangChain提供统一接口,可..
LangChain Agent API create_agent() 完整参数 参数类型默认值说明 modelstr 或 BaseChatModel无(必填)语言模型 toolsSequence 或 NoneNone工具列表。支持 @tool 函数、Pydantic 模型、dict system_promptstr 或 SystemMessage 或 NoneNone系统提示词 middlewareSequ..
LangChain AgentState 状态管理 Agent 在执行过程中需要维护状态——消息历史、结构化响应、流程控制等。理解 AgentState 的结构和用法,是自定义 Agent 行为的关键。 AgentState 结构 AgentState 是一个 TypedDict,默认包含三个字段: 实例 [mycode4 type='python'] from typing import Annot..
LangChain Agent 工作流程 上一节我们了解了 create_agent() 的参数。本节深入 Agent 内部,理解它是如何工作的——模型和工具之间如何协作,Agent 什么时候停止。 Agent 执行循环 Agent 的核心是一个简单的循环:调用模型 → 检查是否需要工具 → 执行工具 → 重复。直到模型不再请求工具调用,Agent 停止并返回最终结果。 下面我们通过追踪 Agent 的每一步来理解这个过程。..
LangChain @before_agent 与 @after_agent before_agent 和 after_agent 是 Agent 级别的钩子,分别在 Agent 执行之前和完成之后各执行一次。适合做初始化、预处理、后处理和统计分析。 before_agent——Agent 开始前的准备工作 before_agent 在 Agent 正式开始执行前运行,只执行一次。你可以在这里做输入预处理、用户信息验证、资源初..
LangChain 中间件钩子 -- @before_model 与 @after_model before_model 和 after_model 是最常用的两个 中间件(Middleware) 钩子。它们在每次模型调用前后执行,适合做内容过滤、消息预处理、响应审核等。 @before_model——模型调用前拦截 @before_model 在每次调用模型之前执行。你可以在这里修改消息、注入上下文条件、或直接跳过模型调用。..
LangChain Chat Model API 本文档列出 init_chat_model() 和 BaseChatModel 的完整 API 参考。 init_chat_model() 完整参数 参数类型默认值说明 modelstr 或 None无模型名,格式为 provider:model_name。传 None 创建可配置模型 model_providerstr 或 NoneNone单独指定提供商。当 m..
LangChain 对话记忆 -- Checkpointer 默认情况下,每次 agent.invoke() 都是独立的——Agent 不记得之前聊过什么。Checkpointer(检查点保存器)让 Agent 能够记住对话历史,实现真正的多轮对话。 没有 Checkpointer 的问题 先看看没有 Checkpointer 时的情况: 实例 [mycode4 type='python'] from..
LangChain 配置与错误类 RunnableConfig 配置项 字段类型说明 configurabledict运行时配置。最常用:thread_id 用于 Checkpointer recursion_limitint最大递归深度(默认 9999) metadatadict附加元数据 tagslist[str]标签列表,用于过滤和分组追踪 callbackslist[BaseCallbackHa..
LangChain create_agent() 函数 create_agent() 是 LangChain 最核心的函数,它会创建一个完整的 Agent 图(StateGraph),包含模型调用、工具执行、循环控制等全部逻辑。 语法 create_agent() 函数语法格式如下: from langchain.agents import create_agent agent = create_agent( mode..
LangChain 集成 DeepSeek 本章节介绍如何在 LangChain 中集成和使用 DeepSeek 聊天模型。 通过 langchain-deepseek 扩展包,开发者可以快速接入 DeepSeek 提供的大语言模型服务。 DeepSeek 模型既支持官方托管 API,也支持通过 Ollama、Fireworks、Together 等平台进行本地或第三方推理部署。 除了官方API接口外,我们..
LangChain 文档加载与切分 之前的文章我们手动输入文本,但在实际项目中,文档可能来自 PDF、网页、Markdown 文件等。本节介绍如何使用 Document Loader 加载各类文档,以及如何用 Text Splitter 将文档切分成适合检索的小块。 Document Loader——加载文档 LangChain 提供了数十种文档加载器,覆盖常见文件格式: Loader来源安装包 TextLoade..
LangChain 环境搭建 本篇将带你完成 LangChain 的安装和配置,确保你能顺利运行第一个 LangChain 程序。 环境要求 项目最低版本推荐版本 Python3.103.11 或 3.12 pip22.0最新版 操作系统macOS / Linux / Windows 均可 检查 Python 版本: $ python --version Python 3.12.7 如果你还没有安..
LangChain 错误处理与调试 Agent 开发中不可避免会遇到各种错误。本篇梳理常见错误类型、调试方法和最佳实践。 常见错误类型 错误类型典型原因解决方案 ImportError未安装提供商包pip install langchain-deepseek 等 API Key 错误.env 未配置或 Key 无效检查环境变量和 Key 有效性 超时错误网络问题或模型响应慢设置 timeout 参数 To..
第一个 LangChain Agent Agent 是 LangChain 最核心的概念,它能让 AI 自动判断何时需要调用工具,并在获取工具结果后继续思考,直到完成任务。 什么是 Agent 普通的模型调用是一问一答:你发消息,模型回消息,结束。 Agent 则不同,它进入一个 思考-行动-观察 循环:模型判断需要调用某个工具 → 执行工具并拿到结果 → 模型根据结果继续思考 → 可能再调用工具 → 直到得出最终答案。 ..
LangChain 人工介入 在生产环境中,有些操作需要人工确认——比如发送邮件、执行删除、处理支付。人工介入(HITL,Human-in-the-Loop)让 Agent 在关键时刻暂停,等待人工审批后继续。 interrupt()——在工具中暂停执行 interrupt() 函数可以让工具执行到一半时暂停,等待外部输入后再继续: 实例 [mycode4 type='python'] from la..
LangChain 模型调用 -- init_chat_model() 函数 LangChain init_chat_model() 是 LangChain 中最常用的函数之一,它让你用统一的方式连接 20 多种模型提供商,不需要记忆每个提供商的类名和参数差异。 语法 init_chat_model() 函数语法如下: from langchain.chat_models import init_chat_model # 完整语..
LangChain 简介 LangChain 是一个用于构建大语言模型(LLM)应用的 Python 框架。 LangChain 提供统一的接口来连接各种 AI 模型,并支持构建能够自动调用工具、检索知识、记住上下文的智能 Agent。 LangChain 是什么 简单来说,LangChain 解决了一个核心问题:让大语言模型能够与外部世界交互。 原生的 LLM 只能根据训练数据生成文本。但实际应用中,我们需要 AI 能够查..
LangChain LangSmith -- 可观测性 LangSmith 是 LangChain 官方的可观测性平台,帮助你追踪 Agent 执行过程、监控性能、调试问题。 LangSmith 是什么 当 Agent 在后台运行时,你看不到它内部发生了什么——调用了哪些模型、执行了哪些工具、每一步消耗了多少 Token。LangSmith 解决了这个'黑盒'问题。 功能说明 执行追踪记录 A..
LangChain Messages API 所有消息类型 类型roletype关键属性说明 HumanMessageuserhumancontent用户消息 AIMessageassistantaicontent, tool_calls, usage_metadataAI 回复 AIMessageChunkassistantaicontent(增量)流式输出的 Token 片段 SystemMessage..
LangChain 消息类型 在 LangChain 中,所有的对话都通过消息(Message)对象传递。理解各种消息类型的用途是编写 Agent 的基础。 四种核心消息类型 LangChain 定义了四种核心消息类型,分别对应对话中的不同角色: 类型角色说明典型内容 HumanMessage用户用户发送的消息'今天天气怎么样?' AIMessageAI 助手模型的回复,可能包含 tool_..
LangChain Middleware API AgentMiddleware 基类钩子方法 方法签名执行频率返回值 before_agent(state, runtime) → dict 或 None1 次状态更新或 None abefore_agent(state, runtime) → dict 或 None1 次状态更新或 None before_model(state, runtime) → dic..
LangChain 中间件(Middleware) LangChain Middleware(中间件)是 LangChain 最强大的特性。它让你在 Agent 执行的各个环节插入自定义逻辑,实现重试、降级、缓存、内容过滤、日志记录等功能——而不需要修改 Agent 本身的代码。 什么是 Middleware Middleware 是 Agent 执行流程中的钩子(Hook)。每个钩子让你在特定的时间点执行自定义代码: ..
LangChain Chat Model 高级用法 本节介绍 Chat Model 的两个高级功能:bind_tools()(绑定工具)和 with_structured_output()(结构化输出)。它们是 Agent 和结构化数据提取的基础。 bind_tools()——让模型知道可以使用哪些工具 普通模型只能生成文本。但调用 bind_tools() 后,模型能在回复中返回 tool_call,告诉程序'我需..