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