跳到主要内容

Build 端点

important

/build 端点被 Langflow 的前端工作区和演示场代码使用。 这些端点是 Langflow 内部代码库的一部分。

不要在使用 Langflow 流程的应用程序中使用这些端点来运行流程。 要在你的应用中运行流程,请参阅 流程触发端点

/build 端点支持 Langflow 前端代码在 Langflow 工作区中构建流程。 你可以使用这些端点来构建顶点和流程,以及执行带有流式事件响应的流程。 当为 Langflow 代码库做贡献时,你可能需要使用或了解这些端点。

构建流程和流式事件

此端点构建并执行一个流程,返回一个可用于流式传输执行事件的作业 ID。

  1. /build/$FLOW_ID/flow 端点发送 POST 请求:


    _10
    curl -X POST \
    _10
    "$LANGFLOW_URL/api/v1/build/$FLOW_ID/flow" \
    _10
    -H "accept: application/json" \
    _10
    -H "Content-Type: application/json" \
    _10
    -H "x-api-key: $LANGFLOW_API_KEY" \
    _10
    -d '{
    _10
    "inputs": {
    _10
    "input_value": "Tell me a story"
    _10
    }
    _10
    }'

    结果

    _10
    {
    _10
    "job_id": "123e4567-e89b-12d3-a456-426614174000"
    _10
    }

  2. 从构建端点接收到作业 ID 后,使用 /build/$JOB_ID/events 端点来流式传输执行结果:


    _10
    curl -X GET \
    _10
    "$LANGFLOW_URL/api/v1/build/123e4567-e89b-12d3-a456-426614174000/events" \
    _10
    -H "accept: application/json" \
    _10
    -H "x-api-key: $LANGFLOW_API_KEY"

    结果

    _10
    {"event": "vertices_sorted", "data": {"ids": ["ChatInput-XtBLx"], "to_run": ["Prompt-x74Ze", "ChatOutput-ylMzN", "ChatInput-XtBLx", "OpenAIModel-d1wOZ"]}}
    _10
    _10
    {"event": "add_message", "data": {"timestamp": "2025-03-03T17:42:23", "sender": "User", "sender_name": "User", "session_id": "d2bbd92b-187e-4c84-b2d4-5df365704201", "text": "Tell me a story", "files": [], "error": false, "edit": false, "properties": {"text_color": "", "background_color": "", "edited": false, "source": {"id": null, "display_name": null, "source": null}, "icon": "", "allow_markdown": false, "positive_feedback": null, "state": "complete", "targets": []}, "category": "message", "content_blocks": [], "id": "28879bd8-6a68-4dd5-b658-74d643a4dd92", "flow_id": "d2bbd92b-187e-4c84-b2d4-5df365704201"}}
    _10
    _10
    // ... 流程执行时的其他事件 ...
    _10
    _10
    {"event": "end", "data": {}}

/build/$FLOW_ID/events 端点接受一个可选的 stream 查询参数,默认值为 true。 要禁用流式传输并一次获取所有事件,请将 stream 设置为 false


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/build/123e4567-e89b-12d3-a456-426614174000/events?stream=false" \
_10
-H "accept: application/json" \
_10
-H "x-api-key: $LANGFLOW_API_KEY"

Build 请求头

请求头信息示例
Content-Type必需。指定 JSON 格式。"application/json"
accept可选。指定响应格式。"application/json"
x-api-key可选。仅在启用身份验证时需要。"sk-..."

Build 参数

参数类型描述
inputsobject可选。流程组件的输入值。
dataobject可选。用于覆盖存储配置的流程数据。
filesarray[string]可选。要使用的文件路径列表。
start_component_idstring可选。执行应该开始的组件 ID。组件 id 值可以在 Langflow JSON 文件 中找到
stop_component_idstring可选。执行应该停止的组件 ID。组件 id 值可以在 Langflow JSON 文件 中找到。
log_buildsboolean可选。控制构建日志记录。默认值:true

设置开始和停止点

/build 端点接受 start_component_idstop_component_id 的可选值来控制流程运行的开始和停止位置。 为组件设置 stop_component_id 会触发与点击该组件上的播放按钮相同的行为,即所有导向该组件的依赖组件也会运行。 例如,要在 OpenAI 模型组件处停止流程执行,请运行以下命令:


_10
curl -X POST \
_10
"$LANGFLOW_URL/api/v1/build/$FLOW_ID/flow" \
_10
-H "accept: application/json" \
_10
-H "Content-Type: application/json" \
_10
-H "x-api-key: $LANGFLOW_API_KEY" \
_10
-d '{"stop_component_id": "OpenAIModel-Uksag"}'

覆盖流程参数

/build 端点还直接接受 data 的输入,而不是使用存储在 Langflow 数据库中的值。 这对于运行流程而无需通过 UI 传递自定义值很有用。


_15
curl -X POST \
_15
"$LANGFLOW_URL/api/v1/build/$FLOW_ID/flow" \
_15
-H "accept: application/json" \
_15
-H "Content-Type: application/json" \
_15
-H "x-api-key: $LANGFLOW_API_KEY" \
_15
-d '{
_15
"data": {
_15
"nodes": [],
_15
"edges": []
_15
},
_15
"inputs": {
_15
"input_value": "在这里输入你的自定义输入",
_15
"session": "session_id"
_15
}
_15
}'

结果

_10
{ "job_id": "0bcc7f23-40b4-4bfa-9b8a-a44181fd1175" }

另请参阅

Search