操作指南
在这里,您将找到对“如何…?”类型的问题的答案。这些指南是面向目标的和具体的;旨在帮助您完成特定任务。有关概念解释,请参阅 概念指南。有关端到端演练,请参阅 教程。有关每个类和函数的全面描述,请参阅 API 参考。
安装
关键功能
这突出了使用 LangChain 的核心功能。
LangChain 表达式语言 (LCEL)
LangChain 表达式语言是一种创建任意自定义链的方法。它基于 Runnable
协议构建。
LCEL 速查表: 有关如何使用主要 LCEL 原语的快速概述。
- 如何:链接 Runnable
- 如何:流式传输 Runnable
- 如何:并行调用 Runnable
- 如何:在 Runnable 上附加运行时参数
- 如何:运行自定义函数
- 如何:将参数从一个步骤传递到下一个步骤
- 如何:在链的状态中添加值
- 如何:添加消息历史
- 如何:在链中路由执行
- 如何:添加回退
- 如何:取消执行
组件
这些是构建应用程序时可以使用的核心构建块。
提示模板
提示模板 负责将用户输入格式化为可以传递给语言模型的格式。
示例选择器
示例选择器 负责选择要传递给提示的正确少量示例。
聊天模型
聊天模型 是较新的语言模型形式,它们接收消息并输出消息。
- 如何:进行函数/工具调用
- 如何:让模型返回结构化输出
- 如何:缓存模型响应
- 如何:创建自定义聊天模型类
- 如何:获取对数概率
- 如何:流式传输响应
- 如何:跟踪令牌使用情况
- 如何:将工具输出传递给聊天模型
- 如何:流式传输工具调用
- 如何:少量示例提示工具行为
- 如何:强制特定工具调用
- 如何:禁用并行工具调用
- 如何在单行中初始化任何模型
消息
消息 是聊天模型的输入和输出。它们具有一些 content
和 role
,描述了消息的来源。
大型语言模型
LangChain 所谓的 大型语言模型 是较早的语言模型形式,它们接受字符串并输出字符串。
输出解析器
输出解析器 负责获取大型语言模型的输出并将其解析为更结构化的格式。
文档加载器
文档加载器 负责从各种来源加载文档。
文本分割器
文本分割器 接收文档并将其分割成可用于检索的块。
嵌入模型
嵌入模型 接收一段文本并为其创建数值表示。
向量存储
向量存储 是可以有效地存储和检索嵌入的数据库。
检索器
检索器 负责获取查询并返回相关文档。
- 如何:使用向量存储检索数据
- 如何:生成多个查询以检索数据
- 如何:使用上下文压缩来压缩检索到的数据
- 如何:编写自定义检索器类
- 如何:合并来自多个检索器的结果
- 如何:为每个文档生成多个嵌入
- 如何:为一个块检索整个文档
- 如何:生成元数据过滤器
- 如何:创建时间加权检索器
- 如何:减少检索延迟
索引
索引是将向量存储与底层数据源同步的过程。
工具
LangChain 工具 包含工具的描述(传递给语言模型)以及要调用的函数的实现。
- 如何:创建工具
- 如何:使用内置工具和工具包
- 如何:使用聊天模型调用工具
- 如何:将工具输出传递给聊天模型
- 如何:少量示例提示工具行为
- 如何:将运行时值传递给工具
- 如何:处理工具错误
- 如何:强制特定工具调用
- 如何:禁用并行工具调用
- 如何:在自定义工具中访问
RunnableConfig
对象 - 如何:从自定义工具中的子运行流式传输事件
- 如何:从工具返回工件
- 如何:将可运行文件转换为工具
- 如何:向模型添加即席工具调用功能
代理
有关代理的深入操作指南,请查看 LangGraph 文档。
回调
回调 允许您挂钩到 LLM 应用程序执行的各个阶段。
自定义
所有 LangChain 组件都可以轻松扩展以支持您自己的版本。
生成式 UI
多模态
用例
这些指南涵盖了特定于用例的详细信息。
基于检索的生成(RAG)问答
基于检索的生成(RAG)是一种将大型语言模型连接到外部数据源的方法。有关 RAG 的高级教程,请查看 本指南。
提取
提取是指使用大型语言模型从非结构化文本中提取结构化信息。有关提取的高级教程,请查看 本指南。
聊天机器人
聊天机器人涉及使用大型语言模型进行对话。有关构建聊天机器人的高级教程,请查看 本指南。
查询分析
查询分析是使用大型语言模型生成要发送到检索器的查询的任务。有关查询分析的高级教程,请查看 本指南。
针对 SQL + CSV 的问答
您可以使用大型语言模型来针对表格数据进行问答。有关高级教程,请查看 本指南。
针对图数据库的问答
您可以使用大型语言模型来针对图数据库进行问答。有关高级教程,请查看 本指南。
LangGraph.js
LangGraph.js 是 LangChain 的扩展,旨在通过将步骤建模为图中的边和节点,使用大型语言模型构建稳健且有状态的多参与者应用程序。
LangGraph.js 文档目前托管在另一个站点。您可以在这里浏览 LangGraph.js 操作指南。
LangSmith
LangSmith 允许您密切跟踪、监控和评估您的 LLM 应用程序。它与 LangChain 和 LangGraph.js 无缝集成,您可以使用它来检查和调试在构建链条时的各个步骤。
LangSmith 文档托管在另一个站点。您可以在这里浏览 LangSmith 操作指南,但我们将在下面重点介绍与 LangChain 特别相关的几个部分。
评估
评估性能是构建 LLM 支持应用程序的重要组成部分。LangSmith 在从创建数据集到定义指标再到运行评估器的每个步骤中都提供帮助。
要了解更多信息,请查看 LangSmith 评估操作指南。
跟踪
跟踪使您能够了解链条和代理内部,对于诊断问题至关重要。
您可以在 LangSmith 文档的这一部分 中查看与跟踪相关的通用操作指南。