操作指南¶
在这里,你可以找到“我该如何……?”这类问题的答案。这些指南是**以目标为导向**且具体的;它们旨在帮助你完成特定的任务。如需概念性解释,请参阅概念指南。如需端到端的详细步骤说明,请参阅教程。如需查看每个类和函数的全面描述,请参阅API 参考。
语言图(LangGraph)¶
图 API 基础¶
细粒度控制¶
这些指南展示了语言图的特性,这些特性可以让你对图的执行进行细粒度的控制。
持久化¶
语言图持久化 使得在图的多次运行之间(线程级持久化)以及跨线程(跨线程持久化)持久保存状态变得容易。这些操作指南展示了如何为你的图添加持久化功能。
- 如何为你的图添加线程级持久化
- 如何为子图添加线程级持久化
- 如何为你的图添加跨线程持久化
- 如何使用 PostgreSQL 检查点器进行持久化
- 如何使用 MongoDB 检查点器进行持久化
- 如何使用 Redis 创建自定义检查点器
有关如何使用 函数式 API 为你的工作流添加持久化功能,请参阅以下指南:
内存¶
语言图使得在你的图中管理对话 内存 变得容易。这些操作指南展示了如何为此实现不同的策略。
人工介入¶
人工介入 功能允许你让人类参与到图的决策过程中。这些操作指南展示了如何在你的图中实现人工介入的工作流。
关键工作流:
- 如何等待用户输入:一个基本示例,展示了如何使用
interrupt
函数在你的图中实现人工介入的工作流。 - 如何审核工具调用:在工具调用请求执行之前,使用
interrupt
函数纳入人工介入以审核/编辑/接受这些请求。
其他方法:
- 如何添加静态断点:用于调试目的。对于 人工介入 工作流,我们建议使用
interrupt
函数。 - 如何编辑图状态:使用
graph.update_state
方法编辑图状态。如果你通过 静态断点 实现 人工介入 工作流,请使用此方法。 - 如何使用
NodeInterrupt
添加动态断点:不建议使用:请使用interrupt
函数。
有关如何使用 函数式 API 实现人工介入工作流,请参阅以下指南:
时间回溯¶
时间回溯 允许你在语言图应用程序中重放过去的操作,以探索替代路径并调试问题。这些操作指南展示了如何在你的图中使用时间回溯功能。
流式处理¶
流式处理 对于增强基于大语言模型构建的应用程序的响应能力至关重要。通过逐步显示输出,即使在完整响应准备好之前,流式处理也能显著改善用户体验(UX),特别是在处理大语言模型的延迟时。
工具调用¶
工具调用 是一种 聊天模型 API,它接受工具模式和消息作为输入,并将这些工具的调用作为输出消息的一部分返回。
这些操作指南展示了使用语言图进行工具调用的常见模式:
子图¶
子图 允许你从另一个图中重用现有的图。这些操作指南展示了如何使用子图:
多智能体¶
多智能体系统 有助于将复杂的大语言模型应用程序分解为多个智能体,每个智能体负责应用程序的不同部分。这些操作指南展示了如何在语言图中实现多智能体系统:
有关其他多智能体架构的实现,请参阅 多智能体教程。
有关如何使用 函数式 API 实现多智能体工作流,请参阅以下指南:
状态管理¶
其他¶
有关如何使用 函数式 API 与其他框架集成,请参阅以下指南:
预构建的 ReAct 智能体¶
语言图 预构建的 ReAct 智能体 是 工具调用智能体 的预构建实现。
语言图的一大优势是你可以轻松创建自己的智能体架构。因此,虽然从这里开始快速构建一个智能体是可以的,但我们强烈建议你学习如何构建自己的智能体,以便充分利用语言图的优势。
这些指南展示了如何使用预构建的 ReAct 智能体:
- 如何使用预构建的 ReAct 智能体
- 如何为 ReAct 智能体添加线程级内存
- 如何为 ReAct 智能体添加自定义系统提示
- 如何为 ReAct 智能体添加人工介入流程
- 如何让 ReAct 智能体返回结构化输出
- 如何为 ReAct 智能体的长期内存添加语义搜索
- 如何管理 ReAct 智能体中的消息历史
是否有兴趣进一步自定义 ReAct 智能体?本指南概述了其底层实现,以帮助你根据自己的需求进行自定义:
有关如何使用 函数式 API 构建 ReAct 智能体,请参阅以下指南:
LangGraph 平台¶
本节包含 LangGraph 平台的操作指南。
LangGraph 平台是一个基于开源 LangGraph 框架构建的商业解决方案,用于在生产环境中部署智能体应用程序。
LangGraph 平台提供了几种不同的部署选项,详情请参阅部署选项指南。
Tip
- LangGraph 是一个采用 MIT 许可证的开源库,我们致力于为社区维护和发展它。
- 您始终可以使用开源的 LangGraph 项目在自己的基础设施上部署 LangGraph 应用程序,而无需使用 LangGraph 平台。
应用程序结构¶
了解如何设置您的应用程序以部署到 LangGraph 平台:
- 如何设置应用程序以进行部署 (requirements.txt)
- 如何设置应用程序以进行部署 (pyproject.toml)
- 如何设置应用程序以进行部署 (JavaScript)
- 如何添加语义搜索
- 如何自定义 Dockerfile
- 如何在本地进行测试
- 如何在运行时重建图
- 如何使用 LangGraph 平台部署 CrewAI、AutoGen 和其他框架
部署¶
可以使用 LangGraph 平台部署 LangGraph 应用程序,该平台提供了一系列服务,帮助您部署、管理和扩展应用程序。
身份验证和访问控制¶
修改 API¶
智能体¶
智能体是模板的配置实例。
有关支持的端点和其他详细信息,请参阅SDK 参考。
线程¶
有关支持的端点和其他详细信息,请参阅SDK 参考。
运行¶
除了流式运行之外,LangGraph 平台还支持多种类型的运行。
流式传输¶
流式传输大语言模型(LLM)应用程序的结果对于确保良好的用户体验至关重要,尤其是当您的图可能调用多个模型并且需要很长时间才能完全完成一次运行时。请阅读以下操作指南,了解如何从您的图中流式传输值:
前端和生成式 UI¶
使用 LangGraph 平台,您可以将 LangGraph 智能体集成到您的 React 应用程序中,并将 UI 组件与智能体代码放在一起。
人工介入¶
在设计复杂的图时,完全依赖大语言模型进行决策可能存在风险,尤其是当涉及与文件、API 或数据库交互的工具时。根据具体用例,这些交互可能会导致意外的数据访问或修改。为了降低这些风险,LangGraph 允许您集成人工介入行为,确保您的大语言模型应用程序按预期运行,不会产生不良后果。
重复输入¶
图的执行可能需要一些时间,有时用户可能会在原始输入完成运行之前改变他们想要发送的输入。例如,用户可能会注意到原始请求中的拼写错误,然后编辑提示并重新发送。在这些情况下决定如何处理对于确保流畅的用户体验和防止图出现意外行为非常重要。
网络钩子¶
定时任务¶
LangGraph 工作室¶
LangGraph 工作室是一个内置的用户界面,用于可视化、测试和调试您的智能体。
- 如何连接到 LangGraph 平台部署
- 如何连接到本地开发服务器
- 如何连接到本地部署(Docker)
- 如何在 LangGraph 工作室中与线程进行交互
- 如何在 LangGraph 工作室中添加节点作为数据集示例
- 如何在 LangGraph 工作室中设计提示
- 如何根据远程跟踪测试您的智能体
故障排除¶
以下是解决使用 LangGraph 构建时可能遇到的常见错误的指南。当下面引用的错误在代码中抛出时,会有一个 lc_error_code
属性,该属性对应于以下代码之一。
- GRAPH_RECURSION_LIMIT
- INVALID_CONCURRENT_GRAPH_UPDATE
- INVALID_GRAPH_NODE_RETURN_VALUE
- MULTIPLE_SUBGRAPHS
- INVALID_CHAT_HISTORY
LangGraph 平台故障排除¶
这些指南提供了针对 LangGraph 平台特定错误的故障排除信息。