操作指南
在这里,你将找到关于 “我该如何…?” 类型问题的答案。
这些指南是面向目标且具体可操作的,旨在帮助你完成特定任务。
若需要概念性解释,请参阅 概念指南。
若需要端到端的操作演练,请参阅 教程。
若需要每个类和函数的全面说明,请参阅 API 参考。
安装
核心功能
此部分重点介绍使用 LangChain 的核心功能。
组件
这些是你在构建应用时可以使用的核心模块。
聊天模型
聊天模型 是新型语言模型,它接收消息作为输入并输出消息。
查看 支持的集成 以了解如何使用特定提供商的聊天模型。
- 如何:一行初始化任意模型
- 如何:使用本地模型
- 如何:进行函数/工具调用
- 如何:让模型返回结构化输出
- 如何:缓存模型响应
- 如何:获取日志概率
- 如何:创建自定义聊天模型类
- 如何:流式返回响应
- 如何:跟踪令牌使用情况
- 如何:跨提供商跟踪响应元数据
- 如何:使用聊天模型调用工具
- 如何:流式调用工具
- 如何:处理速率限制
- 如何:让工具按少量示例工作
- 如何:绑定模型特定格式工具
- 如何:强制调用特定工具
- 如何:直接向模型传入多模态数据
消息
消息 是聊天模型的输入和输出。它们包含 content(内容)和 role(角色),用于描述消息来源。
提示模板
提示模板 负责将用户输入格式化为可传递给语言模型的形式。
示例选择器
示例选择器 用于选择适当的少量示例传递给提示模板。
LLM
LangChain 所称的 LLMs 是早期语言模型形式,它接收字符串输入并输出字符串。
输出解析器
输出解析器 负责将 LLM 输出解析为更结构化的格式。
- 如何:从消息对象解析文本
- 如何:使用输出解析器将 LLM 响应解析为结构化数据
- 如何:解析 JSON 输出
- 如何:解析 XML 输出
- 如何:解析 YAML 输出
- 如何:在解析错误时重试
- 如何:尝试修复输出解析错误
- 如何:编写自定义输出解析器类
文档加载器
文档加载器 负责从各种来源加载文档。
- 如何:加载 PDF 文件
- 如何:加载网页
- 如何:加载 CSV 数据
- 如何:从目录加载数据
- 如何:加载 HTML 数据
- 如何:加载 JSON 数据
- 如何:加载 Markdown 数据
- 如何:加载 Microsoft Office 数据
- 如何:编写自定义文档加载器
文本拆分器
文本拆分器 将文档拆分为可用于检索的块。
嵌入模型
嵌入模型 将文本转换为数值表示。
查看 支持的集成 以了解如何使用特定提供商的嵌入模型。
向量数据库
向量数据库 是可以高效存储和检索嵌入的数据库。
查看 支持的集成 以了解如何使用特定提供商的向量数据库。
检索器
检索器 用于接收查询并返回相关文档。
- 如何:使用向量数据库进行检索
- 如何:生成多条查询以进行数据检索
- 如何:使用上下文压缩压缩检索到的数据
- 如何:编写自定义检索器类
- 如何:为检索结果添加相似度分数
- 如何:组合多个检索器的结果
- 如何:重新排序检索结果以减少“中间丢失”问题
- 如何:为每个文档生成多个嵌入
- 如何:检索文档的完整块
- 如何:生成元数据过滤器
- 如何:创建时间加权检索器
- 如何:使用混合向量和关键词检索
索引
索引用于保持向量数据库与底层数据源同步。
工具
LangChain 工具 包含工具描述(供模型调用)以及工具实现函数。
完整工具列表请参见 这里。
- 如何:创建工具
- 如何:使用内置工具和工具包
- 如何:使用聊天模型调用工具
- 如何:将工具输出传递给聊天模型
- 如何:向工具传递运行时值
- 如何:为工具添加人工干预环节
- 如何:处理工具错误
- 如何:强制模型调用特定工具
- 如何:禁用并行工具调用
- 如何:访问工具的
RunnableConfig - 如何:流式获取工具事件
- 如何:从工具返回产物
- 如何:将 Runnables 转换为工具
- 如何:为模型添加临时工具调用能力
- 如何:向工具传递运行时密钥
多模态
代理(Agents)
回调(Callbacks)
回调 可让你在 LLM 应用的不同阶段挂钩操作。
自定义
LangChain 的所有组件都可以轻松扩展以支持自定义版本。
- 如何:创建自定义聊天模型类
- 如何:创建自定义 LLM 类
- 如何:创建自定义嵌入类
- 如何:编写自定义检索器类
- 如何:编写自定义文档加载器
- 如何:编写自定义输出解析器类
- 如何:创建自定义回调处理器
- 如何:定义自定义工具
- 如何:分发自定义回调事件