Build 端点
important
/build
端点被 Langflow 的前端工作区和演示场代码使用。
这些端点是 Langflow 内部代码库的一部分。
不要在使用 Langflow 流程的应用程序中使用这些端点来运行流程。 要在你的应用中运行流程,请参阅 流程触发端点。
/build
端点支持 Langflow 前端代码在 Langflow 工作区中构建流程。
你可以使用这些端点来构建顶点和流程,以及执行带有流式事件响应的流程。
当为 Langflow 代码库做贡献时,你可能需要使用或了解这些端点。
构建流程和流式事件
此端点构建并执行一个流程,返回一个可用于流式传输执行事件的作业 ID。
-
向
/build/$FLOW_ID/flow
端点发送 POST 请求:_10curl -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} -
从构建端点接收到作业 ID 后,使用
/build/$JOB_ID/events
端点来流式传输执行结果:_10curl -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
。
_10curl -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 参数
参数 | 类型 | 描述 |
---|---|---|
inputs | object | 可选。流程组件的输入值。 |
data | object | 可选。用于覆盖存储配置的流程数据。 |
files | array[string] | 可选。要使用的文件路径列表。 |
start_component_id | string | 可选。执行应该开始的组件 ID。组件 id 值可以在 Langflow JSON 文件 中找到 |
stop_component_id | string | 可选。执行应该停止的组件 ID。组件 id 值可以在 Langflow JSON 文件 中找到。 |
log_builds | boolean | 可选。控制构建日志记录。默认值:true 。 |
设置开始和停止点
/build
端点接受 start_component_id
和 stop_component_id
的可选值来控制流程运行的开始和停止位置。
为组件设置 stop_component_id
会触发与点击该组件上的播放按钮相同的行为,即所有导向该组件的依赖组件也会运行。
例如,要在 OpenAI 模型组件处停止流程执行,请运行以下命令:
_10curl -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 传递自定义值很有用 。
_15curl -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" }