使用 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 字段中,Replicate您将用于向 Webhook 组件发送数据并触发流程的 API 端点。
或者,要获取完整的
POST /v1/webhook/$FLOW_ID
代码片段,请打开流程的 API 访问面板,然后单击 Webhook curl 选项卡。 您还可以修改 Webhook 组件的 curl 字段中的默认 curl 命令。 如果此字段默认不可见,请单击 Webhook 组件,然后在 组件的标题菜单 中单击 Controls。 -
发送带有
data
的 POST 请求到流程的webhook
端点以触发流程。以下示例发送一个包含
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": "[email protected]"}'成功的响应表示 Langflow 已启动流程。 响应不包括整个流程的输出,仅表示流程已启动。
_10{_10"message": "Task started in the background",_10"status": "in progress"_10} -
要查看流程最近的解析负载,请单击 Parser 组件,然后单击 Inspect output。 对于前面的示例,解析后的负载将类似于字符串
ID: 12345 - Name: alex - Email: [email protected]
。
使用 Composio Webhook 触发流程
通常,您不会手动触发 Webhook 组件。 要了解如何使用来自外部应用程序的负载触发流程,请观看视频教程 如何在 Langflow 中使用 Webhooks。
使用 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,然后Replicate Webhook curl 代码片段。
-
可选:如果您想传递不同的负载,请编辑代码片段中的
data
。 -
发送 POST 请求以触发流程。
-
点击 Playground 验证 Chat Output 组件是否打印了来自您 POST 请求的 JSON 数据。
Parser 组件构建失败
如果 Parser 组件没有接收到来自 Webhook 组件的数据,或者传入数据有问题,则可能无法构建。
如果发生这种情况,请尝试将 Parser 组件的 Mode 更改为 Stringify,以便组件将已解析的负载输出为单个字符串。 然后,您可以检查字符串输出并排查解析模板问题,或者以字符串形式处理已解析的数据。