跳到主要内容

使用 Webhook 触发流程

您可以使用 Webhook 组件来响应外部事件启动流程运行。

使用 Webhook 组件,流程可以直接从外部源接收数据。然后,流程可以解析数据并将其传递给流程中的其他组件,以启动其他操作,例如调用 API、写入数据库和与 LLM 聊天。 如果输入不是有效的 JSON,Webhook 组件会将其包装在 payload 对象中,以便可以作为输入接受来触发流程。

Webhook 组件提供了一个多功能的入口点,可以使您的流程更加事件驱动,并与您的整个应用程序和服务栈集成。 例如:

  • 使用 LLM 分析客户反馈或调查响应的情感和内容。
  • 接收来自监控系统的通知,然后根据警报类型和严重程度触发自动响应。
  • 与电子商务平台集成以处理订单和更新库存。

配置 Webhook 组件

要在流程中使用 Webhook 组件,请执行以下操作:

  1. 在 Langflow 中,打开您想要使用 Webhook 组件的流程。

  2. 向您的流程添加一个 Webhook 组件和一个 Parser 组件

    这两个组件通常配对使用,因为 Parser 组件从 Webhook 组件接收的原始负载中提取相关数据。

  3. Webhook 组件的 Data 输出连接到 Parser 组件的 Data 输入。

  4. Parser 组件的 Template 字段中,输入一个模板来将原始负载解析为结构化文本。

    在模板中,使用负载键的变量,就像您在 Prompt Template 组件中定义变量一样。

    例如,假设您期望您的 Webhook 组件接收以下 JSON 数据:


    _10
    {
    _10
    "id": "",
    _10
    "name": "",
    _10
    "email": ""
    _10
    }

    然后,您可以在解析器模板中的任何位置使用大括号引用 JSON 键:


    _10
    ID: {id} - Name: {name} - Email: {email}

  5. Parser 组件的 Parsed Text 输出连接到流程中的下一个逻辑组件,例如 Chat Input 组件。

    如果您只想测试 WebhookParser 组件,可以将 Parsed Text 输出直接连接到 Chat Output 组件的 Text 输入。然后,您可以在运行流程后在 Playground 中看到解析后的数据。

  6. Webhook 组件的 Endpoint 字段中,复制您将用于向 Webhook 组件发送数据并触发流程的 API 端点。

    或者,要获取完整的 POST /v1/webhook/$FLOW_ID 代码片段,请打开流程的 API access 面板,然后单击 Webhook cURL 选项卡。 您还可以在 Webhook 组件的 cURL 字段中修改默认的 curl 命令。 如果此字段默认不可见,请单击 Webhook 组件,然后在组件标题菜单中单击 Controls

  7. 向流程的 webhook 端点发送带有 data 的 POST 请求以触发流程。

    以下示例发送包含 idnameemail 字符串的负载:


    _10
    curl -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
    }

  8. 要查看流程最近解析的负载,请单击 Parser 组件,然后单击 Inspect output。 对于前面的示例,解析的负载将是类似 ID: 12345 - Name: alex - Email: alex@email.com 的字符串。

使用 Composio Webhook 触发流程

通常,您不会手动触发 Webhook 组件。 要了解如何使用来自外部应用程序的负载触发流程,请观看视频教程 How to Use Webhooks in Langflow

使用 Webhook 组件排除流程故障

使用以下信息来帮助解决 Webhook 组件可能出现的常见问题。

验证 Webhook 组件接收的数据

要排除带有 Webhook 组件的流程故障并验证组件是否正在接收数据,您可以创建一个仅输出解析负载的小流程:

  1. 创建一个包含 WebhookParserChat Output 组件的流程。

  2. Webhook 组件的 Data 输出连接到 Parser 组件的 Data 输入。

  3. Parser 组件的 Parsed Text 输出连接到 Chat Output 组件的 Text 输入。

  4. 编辑 Parser 组件,将 Mode 设置为 Stringify

    此模式将 Webhook 组件接收的数据作为字符串传递,由 Chat Output 组件打印。

  5. 单击 Share,选择 API access,然后复制 Webhook cURL 代码片段。

  6. 可选:如果您想传递不同的负载,请编辑代码片段中的 data

  7. 发送 POST 请求以触发流程。

  8. 单击 Playground 以验证 Chat Output 组件是否打印了来自您的 POST 请求的 JSON 数据。

Parser 组件构建失败

如果 Parser 组件没有从 Webhook 组件接收到数据或传入数据有问题,则可能无法构建。

如果发生这种情况,请尝试将 Parser 组件的 Mode 更改为 Stringify,以便组件将解析的负载输出为单个字符串。 然后,您可以检查字符串输出并排除解析模板的故障,或以字符串形式处理解析的数据。

另请参阅

Search