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