AI创想

标题: 【LangGraph】Use RemoteGraph:如何使用 RemoteGraph 与平台部署交互 示例 [打印本页]

作者: 米落枫    时间: 昨天 23:19
标题: 【LangGraph】Use RemoteGraph:如何使用 RemoteGraph 与平台部署交互 示例
作者:彬彬侠
如何使用 RemoteGraph 与部署交互(How to interact with the deployment using RemoteGraph)

预备知识
RemoteGraph 是一个接口,允许你像操作本地定义的 LangGraph 图(如 CompiledGraph)一样与 LangGraph 平台部署交互。本指南展示了如何初始化 RemoteGraph 并与其交互。
初始化图

初始化 RemoteGraph 时,你必须始终指定:
此外,你必须提供以下之一:
注意
如果同时传递了 client 或 sync_client 以及 url 参数,client 或 sync_client 将优先于 url 参数。如果未提供 client、sync_client 或 url 参数,RemoteGraph 将在运行时抛出 ValueError。
使用 URL

使用客户端

调用图

由于 RemoteGraph 是一个实现了与 CompiledGraph 相同方法的 Runnable,你可以像操作已编译图一样与其交互,即通过调用 .invoke()、.stream()、.get_state()、.update_state() 等方法(以及它们的异步版本)。
异步调用

注意
要异步使用图,你必须在初始化 RemoteGraph 时提供 url 或 client。
同步调用

注意
要同步使用图,你必须在初始化 RemoteGraph 时提供 url 或 sync_client。
  1. # 调用图
  2. result = remote_graph.invoke({"messages":[{"role":"user","content":"旧金山的天气如何?"}]})# 从图中流式传输输出for chunk in remote_graph.stream({"messages":[{"role":"user","content":"洛杉矶的天气如何?"}]}):print(chunk)
复制代码
线程级持久化

默认情况下,图的运行(即 .invoke() 或 .stream() 调用)是无状态的——检查点和图的最终状态不会持久化。如果你希望持久化图运行的输出(例如,支持人机交互功能),可以创建一个线程并通过 config 参数提供线程 ID,就像操作常规已编译图一样:
作为子图使用

注意
如果需要在使用 RemoteGraph 子图节点的图中使用检查点器,请确保使用 UUID 作为线程 ID。
由于 RemoteGraph 的行为与常规 CompiledGraph 相同,它也可以作为另一个图的子图使用。例如:

总结


参考资料:

原文地址:https://blog.csdn.net/u013172930/article/details/148140797




欢迎光临 AI创想 (https://www.llms-ai.com/) Powered by Discuz! X3.4