操作指南
在这里,您可以找到“我如何……?”这类问题的答案。这些指南目标明确、内容具体;旨在帮助您完成特定任务。有关概念性解释,请参阅概念指南。有关端到端演练,请参阅教程。有关每个类和函数的全面描述,请参阅API 参考。
安装
主要特点
这突出了使用 LangChain 的核心功能。
LangChain 表达语言 (LCEL )
LangChain 表达式语言是一种创建任意自定义链的方法。它基于Runnable协议构建。
LCEL 备忘单:快速概览如何使用主要 LCEL 原语。
迁移指南:用于将遗留链抽象迁移到 LCEL。
- 如何:链接可运行对象
- 如何:流式传输可运行对象
- 如何:并行调用可运行对象
- 如何:向可运行对象添加默认调用参数
- 如何:将任何函数转换为可运行函数
- 如何:将输入从一个链步骤传递到下一个链步骤
- 如何:在运行时配置可运行行为
- 如何:将消息历史记录(记忆)添加到链中
- 如何:在子链之间路由
- 如何:创建动态(自构建)链
- 如何:检查可运行文件
- 如何:为可运行程序添加回退
- 如何:将运行时机密传递给可运行对象
组件
这些是构建应用程序时可以使用的核心构建块。
提示模板
提示模板负责将用户输入格式化为可以传递给语言模型的格式。
示例选择器
示例选择器负责选择正确的几个镜头示例传递给提示。
聊天模型
聊天模型是一种较新的语言模型,可以接收消息并输出消息。
- 如何:进行函数/工具调用
- 如何:让模型返回结构化输出
- 如何:缓存模型响应
- 如何获取对数概率
- 如何:创建自定义聊天模型类
- 如何:流回响应
- 如何:跟踪令牌使用情况
- 如何:跨提供商跟踪响应元数据
- 如何:使用聊天模型调用工具
- 如何:流式传输工具调用
- 如何处理速率限制
- 如何:少数镜头提示工具行为
- 如何:绑定特定于模型的格式化工具
- 如何:强制调用特定工具
- 如何与本地模特合作
- 如何:在一行中初始化任何模型
消息
消息是聊天模型的输入和输出。它们有一些content
和一个role
,用于描述消息的来源。
法学硕士
LangChain 所称的LLM是语言模型的旧形式,它以字符串为输入,以字符串为输出。
输出解析器
输出解析器负责获取 LLM 的输出并解析为更结构化的格式。
- 如何:使用输出解析器将 LLM 响应解析为结构化格式
- 如何:解析 JSON 输出
- 如何:解析 XML 输出
- 如何:解析 YAML 输出
- 如何:发生输出解析错误时重试
- 如何:尝试修复输出解析中的错误
- 如何:编写自定义输出解析器类
文档加载器
文档加载器负责从各种来源加载文档。
- 如何:加载 CSV 数据
- 如何:从目录加载数据
- 如何:加载 HTML 数据
- 如何:加载 JSON 数据
- 如何:加载 Markdown 数据
- 如何:加载 Microsoft Office 数据
- 如何:加载 PDF 文件
- 如何:编写自定义文档加载器
文本分割器
文本分割器将文档分割成可以用于检索的块。
- 如何:递归拆分文本
- 如何:按 HTML 标题拆分
- 如何:按 HTML 部分拆分
- 如何:按字符拆分
- 如何:拆分代码
- 如何:按标题拆分 Markdown
- 如何:递归拆分 JSON
- 如何:将文本拆分成语义块
- 如何:按标记拆分
嵌入模型
嵌入模型采用一段文本并创建它的数字表示。
向量存储
向量存储是可以有效存储和检索嵌入的数据库。
猎犬
检索器负责接受查询并返回相关文档。
- 如何:使用向量存储检索数据
- 如何:生成多个查询来检索数据
- 如何:使用上下文压缩来压缩检索到的数据
- 如何:编写自定义检索器类
- 如何:向检索器结果添加相似度分数
- 如何:合并多个检索器的结果
- 如何:重新排序检索到的结果以减轻“中间丢失”的影响
- 如何:为每个文档生成多个嵌入
- 如何:检索整个文档中的一个块
- 如何:生成元数据过滤器
- 如何创建时间加权检索器
- 如何:使用混合向量和关键字检索
索引
索引是保持向量存储与底层数据源同步的过程。
工具
LangChain Tools包含工具的描述(传递给语言模型)以及要调用的函数的实现。请参阅此处查看预建工具列表。
- 如何:创建工具
- 如何:使用内置工具和工具包
- 如何:使用聊天模型来调用工具
- 如何:将工具输出传递给聊天模型
- 如何:将运行时值传递给工具
- 如何:为工具添加人机交互
- 如何处理工具错误
- 如何:强制模型调用工具
- 如何:禁用并行工具调用
- 如何:
RunnableConfig
从工具访问 - 如何:从工具流式传输事件
- 如何:从工具返回工件
- 如何:将 Runnable 转换为工具
- 如何:向模型添加临时工具调用功能
- 如何:传递运行时机密
多式联运
代理商
有关代理的详细操作指南,请查看LangGraph文档。
回调
回调允许您进入 LLM 应用程序执行的各个阶段。
定制
所有 LangChain 组件都可以轻松扩展以支持您自己的版本。
- 如何:创建自定义聊天模型类
- 如何:创建自定义 LLM 类
- 如何:编写自定义检索器类
- 如何:编写自定义文档加载器
- 如何:编写自定义输出解析器类
- 如何:创建自定义回调处理程序
- 如何:定义自定义工具
- 如何:调度自定义回调事件
序列化
使用案例
这些指南涵盖了用例特定的细节。
与RAG 的
检索增强生成 (RAG) 是一种将 LLM 连接到外部数据源的方法。有关 RAG 的高级教程,请查看本指南。
萃取
提取是指使用 LLM 从非结构化文本中提取结构化信息。有关提取的高级教程,请查看本指南。
聊天机器人
聊天机器人需要使用 LLM 进行对话。有关构建聊天机器人的高级教程,请查看本指南。
查询分析
查询分析是使用 LLM 生成查询并发送给检索器的任务。有关查询分析的高级教程,请查看本指南。
通过 SQL + CSV
您可以使用 LLM 对表格数据进行问答。有关高级教程,请查看本指南。
图形数据库
您可以使用 LLM 对图形数据库进行问答。有关高级教程,请查看本指南。
摘要
LLM 可以从文本(包括大量文本)中总结和提炼所需信息。如需高级教程,请查看本指南。
LangGraph
LangGraph 是 LangChain 的扩展,旨在通过将步骤建模为图中的边和节点,使用 LLM 构建健壮且有状态的多参与者应用程序。
LangGraph 文档目前托管在单独的网站上。您可以在此处阅读 LangGraph 操作指南。
朗史密斯
LangSmith 可让您密切跟踪、监控和评估您的 LLM 应用程序。它与 LangChain 和 LangGraph 无缝集成,您可以在构建过程中使用它来检查和调试链和代理的各个步骤。
LangSmith 文档托管在一个单独的网站上。您可以在此处阅读 LangSmith 操作指南,但我们将重点介绍与 LangChain 特别相关的几个部分:
评估
评估性能是构建 LLM 应用程序的重要部分。LangSmith 可帮助完成从创建数据集到定义指标再到运行评估器的每个步骤。
要了解更多信息,请查看LangSmith 评估操作指南。
追踪
跟踪可让您观察链和代理内部的情况,这对于诊断问题至关重要。
您可以在 LangSmith 文档的此部分中查看与跟踪相关的常规操作方法。
版权声明:《 【LangChain0.2 】操作指南 》为漠北星火原创文章,转载请注明出处!
最后编辑:2024-8-20 15:08:00