跳到主要内容

使用 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 字段中,Replicate您将用于向 Webhook 组件发送数据并触发流程的 API 端点。

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

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

    以下示例发送一个包含 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": "[email protected]"}'

    成功的响应表示 Langflow 已启动流程。 响应不包括整个流程的输出,仅表示流程已启动。


    _10
    {
    _10
    "message": "Task started in the background",
    _10
    "status": "in progress"
    _10
    }

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

使用 Composio Webhook 触发流程

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

使用 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,然后Replicate Webhook curl 代码片段。

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

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

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

Parser 组件构建失败

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

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

另请参阅

Search