使用 Webhook 触发流程
您可以使用 Webhook 组件来响应外部事件启动流程运行。
使用 Webhook 组件,流程可以直接从外部源接收数据。然后,流程可以解析数据并将其传递给流程中的其他组件,以启动其他操作,例如调用 API、写入数据库和与 LLM 聊天。
如果输入不是有效的 JSON,Webhook 组件会将其包装在 payload
对象中,以便可以作为输入接受来触发流程。
Webhook 组件提供了一个多功能的入口点,可以使您的流程更加事件驱动,并与您的整个应用程序和服务栈集成。 例如:
- 使用 LLM 分析客户反馈或调查响应的情感和内容。
- 接收来自监控系统的通知,然后根据警报类型和严重程度触发自动响应。
- 与电子商务平台集成以处理订单和更新库存。
配置 Webhook 组件
要在流程中使用 Webhook 组件,请执行以下操作:
-
在 Langflow 中,打开您想要使用 Webhook 组件的流程。
-
向您的流程添加一个 Webhook 组件和一个 Parser 组件。
这两个组件通常配对使用,因为 Parser 组件从 Webhook 组件接收的原始负载中提取相关数据。
-
将 Webhook 组件的 Data 输出连接到 Parser 组件的 Data 输入。
-
在 Parser 组件的 Template 字段中,输入 一个模板来将原始负载解析为结构化文本。
在模板中,使用负载键的变量,就像您在 Prompt Template 组件中定义变量一样。
例如,假设您期望您的 Webhook 组件接收以下 JSON 数据:
_10{_10"id": "",_10"name": "",_10"email": ""_10}然后,您可以在解析器模板中的任何位置使用大括号引用 JSON 键:
_10ID: {id} - Name: {name} - Email: {email} -
将 Parser 组件的 Parsed Text 输出连接到流程中的下一个逻辑组件,例如 Chat Input 组件。
如果您只想测试 Webhook 和 Parser 组件,可以将 Parsed Text 输 出直接连接到 Chat Output 组件的 Text 输入。然后,您可以在运行流程后在 Playground 中看到解析后的数据。
-
从 Webhook 组件的 Endpoint 字段中,复制您将用于向 Webhook 组件发送数据并触发流程的 API 端点。
或者,要获取完整的
POST /v1/webhook/$FLOW_ID
代码片段,请打开流程的 API access 面板,然后单击 Webhook cURL 选项卡。 您还可以在 Webhook 组件的 cURL 字段中修改默认的 curl 命令。 如果此字段默认不可见,请单击 Webhook 组件,然后在组件标题菜单中单击 Controls。 -
向流程的
webhook
端点发送带有data
的 POST 请求以触发流程。以下示例发送包含
id
、name
和email
字符串的负载:_10curl -X POST "http://localhost:7860/api/v1/webhook/FLOW_ID" \_10-H "Content-Type: application/json" \_10-H "x-api-key: LANGFLOW_API_KEY" \_10-d '{"id": "12345", "name": "alex", "email": "alex@email.com"}'成功的响应表示 Langflow 启动了流程。 响应不包括整个流程的输出,只是表示流程已启动。
_10{_10"message": "Task started in the background",_10"status": "in progress"_10} -
要查看流程最近解析的负载,请单击 Parser 组件,然后单击 Inspect output。 对于前面的示例,解析的负载将是类似
ID: 12345 - Name: alex - Email: alex@email.com
的字符串。
使用 Composio Webhook 触发流程
通常,您不会手动触发 Webhook 组件。 要了解如何使用来自外部应用程序的负载触发流程,请观看视频教程 How to Use Webhooks in Langflow。
使用 Webhook 组件排除流程故障
使用以下信息来帮助解决 Webhook 组件可能出现的常见问题。
验证 Webhook 组件接收的数据
要排除带有 Webhook 组件的流程故障并验证组件是否正在接收数据,您可以创建一个仅输出解析负载的小流程:
-
创建一个包含 Webhook、Parser 和 Chat Output 组件的流程。
-
将 Webhook 组件的 Data 输出连接到 Parser 组件的 Data 输入。
-
将 Parser 组件的 Parsed Text 输出连接到 Chat Output 组件的 Text 输入。
-
编辑 Parser 组件,将 Mode 设置为 Stringify。
此模式将 Webhook 组件接收的数据作为字符串传递,由 Chat Output 组件打印。
-
单击 Share,选择 API access,然后复制 Webhook cURL 代码片段。
-
可选:如果您想传递不同的负载,请编辑代码片段中的
data
。 -
发送 POST 请求以触发流程。
-
单击 Playground 以验证 Chat Output 组件是否打印了来自您的 POST 请求的 JSON 数据。
Parser 组件构建失败
如果 Parser 组件没有从 Webhook 组件接收到数据或传入数据有问题,则可能无法构建。
如果发生这种情况,请尝试将 Parser 组件的 Mode 更改为 Stringify,以便组件将解析的负载输出为单个字符串。 然后,您可以检查字符串输出并排除解析模板的故障,或以字符串形式处理解析的数据。