以编程方式使用文档

集成包是用户可以安装并在项目使用的 Python 包。它们实现一个或多个符合 LangChain 接口标准的组件。

LangChain 组件是中的基类的子类 langchain-core。示例包括 聊天模型, 工具, 检索器等。

您的集成包通常至少实现这些组件之一的子类。展开下面的标签页查看每个组件的详细信息。

Chat Models

聊天模型是 BaseChatModel 类的子类。它们实现用于生成聊天补全、处理消息格式和管理模型参数的方法。

Embeddings

嵌入模型是 Embeddings 类的子类。

Tools

工具有 2 种主要用途:

  1. 定义一个"输入模式"或"参数模式",将其与文本请求一起传递给聊天模型的工具调用功能,以便聊天模型可以生成"工具调用",即调用工具的参数。
  2. 接收如上生成的"工具调用",执行某些操作并返回可作为 ToolMessage 传递回聊天模型的响应。

工具类必须继承 BaseTool 基类。此接口有 3 个属性和 2 个方法,应在子类中实现。

Middleware

中间件 允许您通过钩子到模型调用、工具调用和代理生命周期事件来自定义代理行为。中间件类子类化 AgentMiddleware 基类。

阅读 自定义中间件指南 以了解在构建集成之前的钩子、状态更新和中间件模式。

中间件集成通常分为两类:

类型描述示例
**Provider-specific**利用提供商独特能力提示缓存、本地工具执行、内容审核
**Cross-provider**适用于任何模型或工具速率限制、PII 检测、日志记录、安全护栏

特定提供商的中间件位于该提供商的集成包中(例如 langchain-anthropic)。跨提供商中间件可以作为独立包发布。

您也可以将这些现有的中间件集成用作参考:

Anthropic middleware

用于提示缓存、工具、内存和文件搜索的多个中间件类。

Custom middleware guide

钩子、状态更新和模式的完整参考。

Checkpointers

检查点程序实现 持久化 在 LangGraph 中,允许智能体保存和恢复跨交互的状态。

请参阅 LangGraph 仓库 中现有的检查点程序集成,了解实现示例。

Sandboxes

沙箱集成使 Deep Agents 能够在隔离环境中运行代码。