首页 >web前端 >js教程 >带插座的 Langgraph Human In The Loop

带插座的 Langgraph Human In The Loop

DDD
DDD原创
2024-11-30 04:25:12516浏览

Langgraph Human In The Loop with socket

通过langgraph的中断功能,我了解到人类可以干预Agent执行的中途。

但是如果你看一下这些例子,你会发现它们都忽略了人际互动。我应该怎么做才能真正得到用户的确认?我认为主要有以下三种方式。

使用 Langgraph API 服务器

您可以使用 langgraph cli 通过 docker 运行 langgraph API 服务器,然后运行图表,更改状态,然后使用 langgraph SDK 重新启动它。

langgraph提供的项目必须按照提供的方式使用。有很多设置,似乎很难将其与我的代码集成

服务器上的图形管理

这是一种在我的自定义服务器上仅实现上述 Langgraph API 服务器的必要部分的方法。例如,运行图时,必须保存执行图的客户端和图检查点,并在用户确认后,必须再次加载图并根据用户的响应更改状态以再次运行

可能有很多事情需要思考。

套接字连接

执行Agent时,会连接一个socket,并通过socket与用户进行交互。只需在现有示例代码中添加通过套接字连接和套接字通信接收用户确认的步骤即可实现。

相反,像打字一样实现流式传输可能会很困难。

通过socket连接实现

首先,我想以一种尽可能不增加复杂性的方式来实现它,所以我用套接字连接来实现它。

服务器端使用NestJs,客户端使用NextJs。

服务器

首先,创建一个用于Websocket连接的网关。在agent/start时创建了连接,并立即执行agent。


关键很简单。当套接字连接时,立即创建并执行代理,当中断时,向客户端发送确认请求消息并等待。一旦确认得到解决,图表就会继续。

上面代码中使用的代理是顺序使用langgraph文档中下面的步骤1 2 3的代理。


客户

客户端创建一个钩子来管理代理启动及其状态。


建立连接并在确认请求到达时更新确认请求状态。只需查看UI组件中的confirmationRequest状态并向用户弹出一个窗口即可。

以上是带插座的 Langgraph Human In The Loop的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn