操作指南¶
在这里,您可以找到解答“如何做……?”类型问题的答案。这些指南是**目标导向**且具体的,旨在帮助您完成特定的任务。对于概念性解释,请参阅概念指南。对于端到端的教程,请参阅教程。对于每个类和函数的全面描述,请参阅API参考。
LangGraph¶
图形API基础¶
精细控制¶
这些指南展示了LangGraph功能,这些功能提供了对您图形执行的精细控制。
持久化¶
LangGraph持久化使跨图形运行(线程级持久化)和跨线程(跨线程持久化)持久化状态变得容易。这些如何做指南展示了如何向您的图形添加持久化。
- 如何向您的图形添加线程级持久化
- 如何向子图添加线程级持久化
- 如何向您的图形添加跨线程持久化
- 如何使用Postgres检查点进行持久化
- 如何使用MongoDB检查点进行持久化
- 如何使用Redis创建自定义检查点
请参阅以下指南,了解如何使用函数API向工作流添加持久化:
内存¶
LangGraph使管理对话内存变得容易。这些如何做指南展示了如何实现不同的策略。
人机交互¶
人机交互功能允许您在图形的决策过程中涉及人类。这些如何做指南展示了如何在图形中实现人机交互工作流。
其他方法:
- 如何添加静态断点:用于调试目的。对于人机交互工作流,我们建议使用
interrupt
函数。 - 如何编辑图形状态:使用
graph.update_state
方法编辑图形状态。如果通过**静态断点**实现**人机交互**工作流,请使用此方法。 - 如何使用
NodeInterrupt
添加动态断点:不推荐:请使用interrupt
函数。
请参阅以下指南,了解如何使用函数API实现人机交互工作流:
时间旅行¶
时间旅行允许您在LangGraph应用程序中重播过去的动作,以探索替代路径并调试问题。这些如何做指南展示了如何在图形中使用时间旅行。
流式传输¶
流式传输对于增强基于LLM的应用程序的响应性至关重要。通过逐步显示输出,即使在完整响应准备就绪之前,流式传输也显著改善了用户体验(UX),特别是在处理LLM延迟时。
工具调用¶
工具调用是一种聊天模型API,它接受工具模式和消息作为输入,并返回工具调用作为输出消息的一部分。
这些如何做指南展示了使用LangGraph进行工具调用的常见模式:
子图¶
子图允许您从另一个图形中重用现有图形。这些如何做指南展示了如何使用子图:
多代理¶
多代理系统在将复杂的LLM应用程序分解为多个代理时非常有用,每个代理负责应用程序的不同部分。这些如何做指南展示了如何在LangGraph中实现多代理系统:
请参阅多代理教程以查看其他多代理架构的实现。
请参阅以下指南,了解如何使用函数API实现多代理工作流:
状态管理¶
其他¶
请参阅以下指南,了解如何使用函数API将LangGraph与其他框架集成:
预构建的ReAct代理¶
LangGraph 预构建的ReAct代理是工具调用代理的预构建实现。
LangGraph的一个主要优势是您可以轻松创建自己的代理架构。因此,虽然从这里开始快速构建代理是可以的,但我们强烈建议学习如何构建自己的代理,以便充分利用LangGraph。
这些指南展示了如何使用预构建的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 集成到您的 React 应用程序中
部署¶
LangGraph 应用程序可以使用 LangGraph Cloud 进行部署,该云服务提供了一系列服务,帮助您部署、管理和扩展应用程序。
认证与访问控制¶
助手¶
助手 是一个配置好的模板实例。
请参阅 SDK 参考 以了解支持的端点和其他详细信息。
线程¶
请参阅 SDK 参考 以了解支持的端点和其他详细信息。
运行¶
LangGraph 平台支持除了流式运行之外的多种类型的运行。
流式传输¶
流式传输您的 LLM 应用程序的结果对于确保良好的用户体验至关重要,尤其是在您的图可能调用多个模型并花费很长时间才能完全完成运行的情况下。了解如何在这些指南中从您的图流式传输值:
人机交互¶
在设计复杂的图时,完全依赖 LLM 进行决策可能会带来风险,特别是在涉及与文件、API 或数据库交互的工具时。这些交互可能会导致意外的数据访问或修改,具体取决于使用情况。为了减轻这些风险,LangGraph 允许您集成人机交互行为,确保您的 LLM 应用程序按预期运行,而不会产生不希望的结果。
双重发送¶
图的执行可能需要一段时间,有时用户可能在原始输入完成运行之前改变主意,想要发送不同的输入。例如,用户可能会注意到原始请求中的拼写错误,并编辑提示并重新发送它。在这些情况下决定如何操作对于确保平滑的用户体验和防止您的图以意外的方式行为非常重要。
Webhook¶
计划任务¶
LangGraph Studio¶
LangGraph Studio 是一个内置的 UI,用于可视化、测试和调试您的代理。
- 如何连接到 LangGraph 云部署
- 如何连接到本地开发服务器
- 如何连接到本地部署(Docker)
- 如何在 LangGraph Studio 中测试您的图(仅限 MacOS)
- 如何在 LangGraph Studio 中与线程交互
- 如何在 LangGraph Studio 中将节点添加为数据集示例
- 如何在 LangGraph Studio 中设计提示
故障排除¶
这些指南用于解决在使用LangGraph构建应用程序时可能遇到的常见错误。下面引用的错误在代码中抛出时,将具有一个与以下代码之一相对应的lc_error_code
属性。
- GRAPH_RECURSION_LIMIT
- INVALID_CONCURRENT_GRAPH_UPDATE
- INVALID_GRAPH_NODE_RETURN_VALUE
- MULTIPLE_SUBGRAPHS
- INVALID_CHAT_HISTORY
LangGraph平台故障排除¶
这些指南提供了针对特定于LangGraph平台的错误的故障排除信息。