免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

如何在 Langflow 流程中使用 Human-in-the-Loop 实现人工确认?

如何在 Langflow 流程中使用 Human-in-the-Loop 实现人工确认? 如何在 Langflow 流程中使用 Human-in-the-Loop 实现人工确认【免费下载链接】langflowLangflow is a powerful tool for building and deploying AI-powered agents and workflows.项目地址: https://gitcode.com/GitHub_Trending/la/langflow如果你在 Langflow 中构建的流程会执行有实际后果的动作调用工具、发送内容、提交代码等你可能需要在关键步骤上插入一个人工确认点流程运行到该步骤时暂停等待人选择 Approve 或 Reject再根据选择继续。Langflow 的 Human-in-the-LoopHITL机制做的就是这件事——它暂停流程、创建一个 checkpoint然后等待人的决定批准或拒绝之后运行从 checkpoint 恢复并只走所选分支之前已完成的步骤不会重新执行。HITL 有两种接法在流程中放置Human Input组件会暂停流程并产生分支或者在Agent组件上为某个工具开启审批只暂停、不加分支。本文先讲主路径 Human Input 组件再把 Agent 工具审批作为可选方式给出。方式一使用 Human Input 组件这是官方文档给出的标准做法。以文档中的例子为例一个 agent 起草 Python 代码其中一个工具会把代码提交到 Git。你把Human Input组件放在代码生成步骤之后让人在Approve或Reject之间选择——选 Approve 流程继续到 commit 步骤选 Reject 则把草稿打回修改。按下面的步骤配置从Flow Controls菜单添加一个Human Input组件放在需要人工把关的步骤之后。在Form Content中填写给审阅者看的内容例如Review this summary before it is sent to the customer.在User Actions中保留默认的Approve和Reject也可以添加自定义标签如Escalate。每个动作会给组件增加一个对应的输出连接点。把Approve输出连接到批准后要执行的组件。把Reject输出连接到替代路径例如一个 Chat Output 组件来说明被拒绝的原因。在Playground中运行流程。执行到达Human Input节点时会暂停在 approval pane 中选择一个动作即可恢复流程。Human Input 组件的四个参数如下来自 Human Input 组件文档参数名界面显示名说明promptForm Content展示给人审阅的内容。decisionsUser Actions人可以选择的动作每个动作成为一个组件分支输出。timeoutTimeout开启Enable Fallback后等待多久未响应就走 fallback 路径。enable_fallbackEnable Fallback开启后增加一个Fallback输出用于超时无人作答的情况。部分参数在可视化编辑器中默认隐藏选中组件后在组件检查面板里可以修改全部参数。每个User Action标签在 API 的 resume 请求中映射到一个稳定的action_id。例如标签Request Changes对应request_changes。如果你要通过 API 而非界面来响应暂停需要用到这个映射。可选配置超时与回退分支如果希望无人应答时流程不要一直挂着可以增加一条回退路径在组件检查面板中开启Enable Fallback这会从组件创建一个新的输出连接点。设置Timeout时长。把Fallback输出连接到超时后应执行的逻辑。超时前收到决定则正常走对应动作分支超时前没有决定Langflow 会路由到Fallback输出。方式二为 Agent 工具开启审批如果流程的核心是一个Agent组件只想让它在调用某个特定工具前停下来等确认可以不用 Human Input 组件而是对该工具开启Requires approval见 Agent 工具配置文档把工具组件以Tool Mode开启后连接到Agent组件的Tools输入。打开 agent 的工具菜单对目标工具如 Git commit 工具开启Requires approval。审批只加在该工具上其他工具不受影响。当 agent 尝试调用该工具时运行暂停直到有人在Playground中选择Approve或Reject。这种方式不会在画布上增加分支节点。决定会保存在聊天历史中重新加载会话时直接显示已解析的决定不会再次弹出确认。验证人工确认生效Playground 验证运行流程后执行应在 Human Input 节点处停下并出现 approval pane选择某个动作后流程从该动作对应的分支继续未选中的分支不执行。API 验证如果通过 workflows API 以 background 方式运行任务的status为suspended表示作业已暂停并正在等待人工输入对应 Workflows API 文档 中的状态表人做出决定、运行恢复完成后状态变为completed。使用限制不能放在嵌套流程里如果 Run Flow / Sub Flow / flow-as-tool 的目标流程中包含已连接的 Human Input 节点或开启了审批的 agent 工具运行会以明确错误失败cannot run as a nested flow… move the approval to the parent flow而不是静默地不暂停。应把审批移到父流程中。详见 HITL 功能文档。未接线的 Human Input 不阻塞如果一个 Human Input 没有下游消费者它在运行时会被跳过不会卡住流程。重跑会取代旧暂停同一个用户对一个已有SUSPENDED运行的流程再次提交后台运行时旧的挂起运行会被取消状态CANCELLED、待处理请求清除再开始新运行历史中旧卡片标记为 superseded只展示新运行的确认点。默认关闭没有任何组件请求暂停时HITL 机制不产生 checkpoint、不额外占用行为普通流程不受影响。完成确认点后可以结合 Human-in-the-Loop 概览 查看 1.11 版本的视频示例或参考 Workflows API 用 API 方式管理后台运行与 resume。【免费下载链接】langflowLangflow is a powerful tool for building and deploying AI-powered agents and workflows.项目地址: https://gitcode.com/GitHub_Trending/la/langflow创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表