跳到主要内容

API 示例

本页提供使用 Langflow API 管理 Langflow 的示例和实践。

可以在您的 Langflow 部署的 docs 端点查看和测试 Langflow API 的 OpenAPI 规范。例如,http://127.0.0.1:7860/docs

导出值

您可能会发现在终端中设置以下环境变量很有帮助。

本指南中的示例使用环境变量来表示这些值。

  • 在终端中导出您的 Langflow URL。Langflow 默认从 http://127.0.0.1:7860 开始运行。

_10
export LANGFLOW_URL="http://127.0.0.1:7860"

  • 在终端中导出 flow-idflow-id 可以在发布窗格或流的 URL 中找到。

_10
export FLOW_ID="359cd752-07ea-46f2-9d3b-a4407ef618da"

  • 在终端中导出 project-id。要找到您的项目 ID,请调用 Langflow /api/v1/projects/ 端点以获取项目列表。

_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/projects/" \
_10
"$LANGFLOW_URL/api/v1/projects/" \
_10
-H "accept: application/json"

project-id 导出为环境变量。将 project-id 导出为环境变量。


_10
export project_ID="1415de42-8f01-4f36-bf34-539f23e47466"

  • 将 Langflow API 密钥导出为环境变量。要创建 Langflow API 密钥,请在 Langflow CLI 中运行以下命令。

_10
langflow api-key

将生成的 API 密钥导出为环境变量。


_10
export LANGFLOW_API_KEY="sk-..."

基础

使用基础 Langflow API 运行您的流并检索配置信息。

获取所有组件

此操作返回包含所有 Langflow 组件的字典。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/all" \
_10
-H "accept: application/json"

运行流

按 ID 或名称执行指定的流。流以批处理方式执行,但 LLM 响应可以流式传输。

此示例运行一个指定 flow_id基本提示流,并将一个 JSON 对象作为输入值传递。

参数在请求体中传递。在此示例中,值是默认值。


_11
curl -X POST \
_11
"$LANGFLOW_URL/api/v1/run/$FLOW_ID" \
_11
-H "Content-Type: application/json" \
_11
-d '{
_11
"input_value": "Tell me about something interesting!",
_11
"session_id": "chat-123",
_11
"input_type": "chat",
_11
"output_type": "chat",
_11
"output_component": "",
_11
"tweaks": null
_11
}'

要流式传输 LLM 令牌响应,请在请求中附加 ?stream=true 查询参数。LLM 聊天响应将以 token 事件的形式流回,直到 end 事件关闭连接。


_10
curl -X POST \
_10
"$LANGFLOW_URL/api/v1/run/$FLOW_ID?stream=true" \
_10
-H "accept: application/json" \
_10
-H "Content-Type: application/json" \
_10
-d '{
_10
"message": "Tell me something interesting!",
_10
"session_id": "chat-123"
_10
}'

此结果已缩写,但说明了 end 事件何时完成 LLM 的令牌流式响应。

运行端点头和参数

参数可以通过三种方式传递给 /run 端点

  • URL 路径:flow_id 作为端点路径的一部分
  • 查询字符串:URL 中的 stream 参数
  • 请求体:包含其余参数的 JSON 对象

请求头

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

参数

参数类型信息
flow_idUUID/字符串必需。URL 的一部分:/run/{flow_id}
stream布尔值可选。查询参数:/run/{flow_id}?stream=true
input_value字符串可选。JSON 请求体字段。主要输入文本/提示。默认值:null
input_type字符串可选。JSON 请求体字段。输入类型(“chat” 或 “text”)。默认值:"chat"
output_type字符串可选。JSON 请求体字段。输出类型(“chat”、“any”、“debug”)。默认值:"chat"
output_component字符串可选。JSON 请求体字段。输出的目标组件。默认值:""
tweaks对象可选。JSON 请求体字段。组件调整。默认值:null
session_id字符串可选。JSON 请求体字段。会话上下文 ID。默认值:null

请求示例


_17
curl -X POST \
_17
"http://$LANGFLOW_URL/api/v1/run/$FLOW_ID?stream=true" \
_17
-H "Content-Type: application/json" \
_17
-H "accept: application/json" \
_17
-H "x-api-key: sk-..." \
_17
-d '{
_17
"input_value": "Tell me a story",
_17
"input_type": "chat",
_17
"output_type": "chat",
_17
"output_component": "chat_output",
_17
"session_id": "chat-123",
_17
"tweaks": {
_17
"component_id": {
_17
"parameter_name": "value"
_17
}
_17
}
_17
}'

Webhook 运行流

Webhook 端点通过 HTTP POST 请求触发流执行。

Webhook 组件添加到工作区时,API 窗格中会新增一个 Webhook cURL 标签页,其中包含用于触发 Webhook 组件的 HTTP POST 请求,类似于此示例中的调用。

要在您的流中测试 Webhook 组件,请参阅Webhook 组件


_10
curl -X POST \
_10
"$LANGFLOW_URL/api/v1/webhook/$FLOW_ID" \
_10
-H "Content-Type: application/json" \
_10
-d '{"data": "example-data"}'

处理

信息

此端点已弃用。请改用 /run 端点。

预测

信息

此端点已弃用。请改用 /run 端点。

获取任务状态

获取任务的状态。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/task/TASK_ID" \
_10
-H "accept: application/json"

创建上传文件(已弃用)

信息

此端点已弃用。请改用 /file 端点。

获取版本

获取 Langflow API 的版本。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/version" \
_10
-H "accept: application/json"

获取配置

检索 Langflow 配置信息。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/config" \
_10
-H "accept: application/json"

构建

使用 /build 端点构建顶点和流,并以流式事件响应执行这些流。

/build 端点为运行流提供了额外的配置。

要更简单地执行您的流,请改用/run 端点

构建流

重要

此端点旨在供前端使用,并未针对外部使用进行优化。要运行您的流,请改用/run 端点

此端点构建并执行流,返回一个可用于流式传输执行事件的作业 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
-d '{
_10
"inputs": {
_10
"input_value": "Tell me a story"
_10
}
_10
}'

  1. 从构建端点接收到作业 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"

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"

构建端点头和参数

请求头

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

/build/{flow_id}/flow 端点在其请求体中接受以下参数

参数

参数类型描述
inputs对象可选。流组件的输入值。
data对象可选。用于覆盖存储配置的流数据。
filesarray[字符串]可选。要使用的文件路径列表。
stop_component_id字符串可选。执行应停止的组件 ID。
start_component_id字符串可选。执行应开始的组件 ID。
log_builds布尔值可选。控制构建日志记录。默认值:true

配置构建端点

/build 端点接受 start_component_idstop_component_id 的可选值,以控制流运行的起点和终点。为组件设置 stop_component_id 会触发与在该组件上点击 运行 按钮相同的行为,即也会运行导致该组件的所有依赖组件。例如,要在 Open AI 模型组件处停止流执行,请运行以下命令


_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 传递自定义值非常有用。


_14
curl -X POST \
_14
"$LANGFLOW_URL/api/v1/build/$FLOW_ID/flow" \
_14
-H "accept: application/json" \
_14
-H "Content-Type: application/json" \
_14
-d '{
_14
"data": {
_14
"nodes": [],
_14
"edges": []
_14
},
_14
"inputs": {
_14
"input_value": "Your custom input here",
_14
"session": "session_id"
_14
}
_14
}'

文件

使用 /files 端点在您的本地机器和 Langflow 之间添加或删除文件。

/files 端点有 /v1/v2 版本。v2/files 版本相对于 /v1 提供了一些改进

  • v1 中,文件按 flow_id 组织。在 v2 中,文件按 user_id 组织。这意味着文件基于用户所有权访问,并且不与特定流绑定。您可以将文件上传到 Langflow 一次,并在多个流中使用它。
  • v2 中,文件在 Langflow 数据库中进行跟踪,可以批量添加或删除,而不是逐个进行。
  • 来自 /v2 端点的响应包含更具描述性的元数据。
  • v2 端点需要通过 API 密钥或 JWT 进行身份验证。

文件/V1 端点

使用 /files 端点在您的本地机器和 Langflow 之间添加或删除文件。

  • v1 中,文件按 flow_id 组织。
  • v2 中,文件按 user_id 组织并在 Langflow 数据库中进行跟踪,可以批量添加或删除,而不是逐个进行。

上传文件 (v1)

将文件上传到流的 v1/files/upload/<YOUR-FLOW-ID> 端点。将 FILE_NAME 替换为上传的文件名。


_10
curl -X POST \
_10
"$LANGFLOW_URL/api/v1/files/upload/$FLOW_ID" \
_10
-H "accept: application/json" \
_10
-H "Content-Type: multipart/form-data" \
_10
-F "file=@FILE_NAME.txt"

上传图像文件 (v1)

将图像文件发送到 Langflow API 进行 AI 分析。

默认文件大小限制为 100 MB。要配置此值,请更改 LANGFLOW_MAX_FILE_SIZE_UPLOAD 环境变量。有关更多信息,请参阅支持的环境变量

  1. 要通过 API 将图像发送到您的流,请将图像文件 POST 到流的 v1/files/upload/<YOUR-FLOW-ID> 端点。将 FILE_NAME 替换为上传的文件名。

_10
curl -X POST "$LANGFLOW_URL/api/v1/files/upload/a430cc57-06bb-4c11-be39-d3d4de68d2c4" \
_10
-H "Content-Type: multipart/form-data" \
_10
-F "file=@FILE_NAME.png"

API 返回图像文件路径,格式为 "file_path":"<YOUR-FLOW-ID>/<TIMESTAMP>_<FILE-NAME>"}


_10
{
_10
"flowId": "a430cc57-06bb-4c11-be39-d3d4de68d2c4",
_10
"file_path": "a430cc57-06bb-4c11-be39-d3d4de68d2c4/2024-11-27_14-47-50_image-file.png"
_10
}

  1. 将图像文件 POST 到基本提示流的 Chat Input 组件。将文件路径值作为输入传递到 Langflow curl 调用的 Tweaks 部分。要找到您的 Chat Input 组件 ID,请使用

_12
curl -X POST \
_12
"$LANGFLOW_URL/api/v1/run/a430cc57-06bb-4c11-be39-d3d4de68d2c4?stream=false" \
_12
-H 'Content-Type: application/json'\
_12
-d '{
_12
"output_type": "chat",
_12
"input_type": "chat",
_12
"tweaks": {
_12
"ChatInput-b67sL": {
_12
"files": "a430cc57-06bb-4c11-be39-d3d4de68d2c4/2024-11-27_14-47-50_image-file.png",
_12
"input_value": "what do you see?"
_12
}
_12
}}'

您的聊天机器人会描述您发送的图像文件。


_10
"text": "This flowchart appears to represent a complex system for processing financial inquiries using various AI agents and tools. Here's a breakdown of its components and how they might work together..."

列出文件 (v1)

列出与特定流关联的所有文件。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/files/list/$FLOW_ID" \
_10
-H "accept: application/json"

下载文件 (v1)

从流中下载特定文件。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/files/download/$FLOW_ID/2024-12-30_15-19-43_your_file.txt" \
_10
-H "accept: application/json" \
_10
--output downloaded_file.txt

删除文件 (v1)

从流中删除特定文件。


_10
curl -X DELETE \
_10
"$LANGFLOW_URL/api/v1/files/delete/$FLOW_ID/2024-12-30_15-19-43_your_file.txt" \
_10
-H "accept: application/json"

文件/V2 端点

v2 中,文件按 user_id 组织并在 Langflow 数据库中进行跟踪,可以批量添加或删除,而不是逐个进行。v2 端点需要通过 API 密钥或 JWT 进行身份验证。要创建 Langflow API 密钥并将其导出为环境变量,请参阅导出值

上传文件 (v2)

将文件上传到您的用户帐户。该文件可用于多个流。

文件以上传格式为 USER_ID/FILE_ID.FILE_EXTENSION,例如 6f17a73e-97d7-4519-a8d9-8e4c0be411bb/c7b22c4c-d5e0-4ec9-af97-5d85b7657a34.txt。将 FILE_NAME.EXTENSION 替换为上传的文件名及其扩展名。


_10
curl -X POST \
_10
"$LANGFLOW_URL/api/v2/files" \
_10
-H "accept: application/json" \
_10
-H "Content-Type: multipart/form-data" \
_10
-H "x-api-key: $LANGFLOW_API_KEY" \
_10
-F "file=@FILE_NAME.EXTENSION"

将文件发送到您的流 (v2)

使用文件组件将文件发送到您的流进行分析。

默认文件大小限制为 100 MB。要配置此值,请更改 LANGFLOW_MAX_FILE_SIZE_UPLOAD 环境变量。有关更多信息,请参阅支持的环境变量

  1. 要通过 API 将图像发送到您的流,请将图像文件 POST 到 /api/v2/files 端点。将 FILE_NAME 替换为上传的文件名。

_10
curl -X POST "$LANGFLOW_URL/api/v2/files" \
_10
-H "Content-Type: multipart/form-data" \
_10
-H "x-api-key: $LANGFLOW_API_KEY" \
_10
-F "file=@FILE_NAME.png"

文件以上传格式为 USER_ID/FILE_ID.FILE_EXTENSION,API 返回上传文件的元数据


_10
{
_10
"id": "5f829bc4-ac1e-4a80-b1d1-fedc03cd5b6e",
_10
"name": "FILE_NAME",
_10
"path": "232f54ba-dd54-4760-977e-ed637f83e785/5f829bc4-ac1e-4a80-b1d1-fedc03cd5b6e.png",
_10
"size": 84408,
_10
"provider": null
_10
}

  1. 要在您的流中使用此文件,请添加一个文件组件将文件加载到流中。
  2. 要将文件加载到您的流中,请将其发送到 File 组件。

_16
curl --request POST \
_16
--url '$LANGFLOW_URL/api/v1/run/$FLOW_ID' \
_16
--header 'Content-Type: application/json' \
_16
--header 'x-api-key: $LANGFLOW_API_KEY' \
_16
--data '{
_16
"input_value": "what do you see?",
_16
"output_type": "chat",
_16
"input_type": "text",
_16
"tweaks": {
_16
"File-t2Ngc": {
_16
"path": [
_16
"232f54ba-dd54-4760-977e-ed637f83e785/5f829bc4-ac1e-4a80-b1d1-fedc03cd5b6e.png"
_16
]
_16
}
_16
}
_16
}'

列出文件 (v2)

列出与您的用户帐户关联的所有文件。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v2/files" \
_10
-H "accept: application/json" \
_10
-H "x-api-key: $LANGFLOW_API_KEY"

下载文件 (v2)

按其 ID 和文件扩展名下载特定文件。

提示

您必须在 --output 值中指定您期望的文件类型。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v2/files/c7b22c4c-d5e0-4ec9-af97-5d85b7657a34" \
_10
-H "accept: application/json" \
_10
-H "x-api-key: $LANGFLOW_API_KEY" \
_10
--output downloaded_file.txt

编辑文件名 (v2)

更改文件名。


_10
curl -X PUT \
_10
"$LANGFLOW_URL/api/v2/files/$FILE_ID?name=new_file_name" \
_10
-H "accept: application/json" \
_10
-H "x-api-key: $LANGFLOW_API_KEY"

删除文件 (v2)

按其 ID 删除特定文件。


_10
curl -X DELETE \
_10
"$LANGFLOW_URL/api/v2/files/$FILE_ID" \
_10
-H "accept: application/json" \
_10
-H "x-api-key: $LANGFLOW_API_KEY"

删除所有文件 (v2)

删除与您的用户帐户关联的所有文件。


_10
curl -X DELETE \
_10
"$LANGFLOW_URL/api/v2/files" \
_10
-H "accept: application/json" \
_10
-H "x-api-key: $LANGFLOW_API_KEY"

使用 /flows 端点创建、读取、更新和删除流。

创建流

创建一个新流。


_19
curl -X POST \
_19
"$LANGFLOW_URL/api/v1/flows/" \
_19
-H "accept: application/json" \
_19
-H "Content-Type: application/json" \
_19
-d '{
_19
"name": "string2",
_19
"description": "string",
_19
"icon": "string",
_19
"icon_bg_color": "#FF0000",
_19
"gradient": "string",
_19
"data": {},
_19
"is_component": false,
_19
"updated_at": "2024-12-30T15:48:01.519Z",
_19
"webhook": false,
_19
"endpoint_name": "string",
_19
"tags": [
_19
"string"
_19
]
_19
}'

读取流

检索支持分页的流列表。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/flows/?remove_example_flows=false&components_only=false&get_all=true&header_flows=false&page=1&size=50" \
_10
-H "accept: application/json"

要仅检索特定项目中的流,请在查询字符串中传递 project_id


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/flows/?remove_example_flows=true&components_only=false&get_all=false&project_id=$project_ID&header_flows=false&page=1&size=1" \
_10
-H "accept: application/json"

读取流

按其 ID 读取特定流。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/flows/$FLOW_ID" \
_10
-H "accept: application/json"

更新流

按其 ID 更新现有流。

此示例将 endpoint_name 的值从随机 UUID 更改为 my_new_endpoint_name


_13
curl -X PATCH \
_13
"$LANGFLOW_URL/api/v1/flows/$FLOW_ID" \
_13
-H "accept: application/json" \
_13
-H "Content-Type: application/json" \
_13
-d '{
_13
"name": "string",
_13
"description": "string",
_13
"data": {},
_13
"project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
_13
"project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
_13
"endpoint_name": "my_new_endpoint_name",
_13
"locked": true
_13
}'

删除流

按其 ID 删除特定流。


_10
curl -X DELETE \
_10
"$LANGFLOW_URL/api/v1/flows/$FLOW_ID" \
_10
-H "accept: application/json"

创建多个流

创建多个新流。


_46
curl -X POST \
_46
"$LANGFLOW_URL/api/v1/flows/batch/" \
_46
-H "accept: application/json" \
_46
-H "Content-Type: application/json" \
_46
-d '{
_46
"flows": [
_46
{
_46
"name": "string",
_46
"description": "string",
_46
"icon": "string",
_46
"icon_bg_color": "string",
_46
"gradient": "string",
_46
"data": {},
_46
"is_component": false,
_46
"updated_at": "2024-12-30T18:36:02.737Z",
_46
"webhook": false,
_46
"endpoint_name": "string",
_46
"tags": [
_46
"string"
_46
],
_46
"locked": false,
_46
"user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
_46
"project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
_46
"project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
_46
},
_46
{
_46
"name": "string",
_46
"description": "string",
_46
"icon": "string",
_46
"icon_bg_color": "string",
_46
"gradient": "string",
_46
"data": {},
_46
"is_component": false,
_46
"updated_at": "2024-12-30T18:36:02.737Z",
_46
"webhook": false,
_46
"endpoint_name": "string",
_46
"tags": [
_46
"string"
_46
],
_46
"locked": false,
_46
"user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
_46
"project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
_46
"project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
_46
}
_46
]
_46
}'

上传流

从文件上传流。

此示例上传一个名为 agent-with-astra-db-tool.json 的本地文件。


_10
curl -X POST \
_10
"$LANGFLOW_URL/api/v1/flows/upload/?project_id=$project_ID" \
_10
-H "accept: application/json" \
_10
-H "Content-Type: multipart/form-data" \
_10
-F "file=@agent-with-astra-db-tool.json;type=application/json"

要指定流的目标项目,请包含查询参数 project_id。目标 project_id 在上传流之前必须已存在。调用/api/v1/projects/ 端点以获取可用项目列表。要指定流的目标项目,请包含查询参数 project_id。目标 project_id 在上传流之前必须已存在。调用/api/v1/projects/ 端点以获取可用项目列表。


_10
curl -X POST \
_10
"$LANGFLOW_URL/api/v1/flows/upload/?project_id=$project_ID" \
_10
-H "accept: application/json" \
_10
-H "Content-Type: multipart/form-data" \
_10
-F "file=@agent-with-astra-db-tool.json;type=application/json"

下载所有流

将所有流下载为 ZIP 文件。

此端点下载一个 ZIP 文件,其中包含命令体中列出的所有 flow-id 值的流。


_10
curl -X POST \
_10
"$LANGFLOW_URL/api/v1/flows/download/" \
_10
-H "accept: application/json" \
_10
-H "Content-Type: application/json" \
_10
-d '[
_10
"e1e40c77-0541-41a9-88ab-ddb3419398b5",
_10
"92f9a4c5-cfc8-4656-ae63-1f0881163c28"
_10
]' \
_10
--output langflow-flows.zip

读取基本示例

检索基本示例流的列表。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/flows/basic_examples/" \
_10
-H "accept: application/json"

项目

项目

使用 /projects 端点创建、读取、更新和删除项目。

项目存储您的流和组件。

读取项目

获取 Langflow 项目列表。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/projects/" \
_10
"$LANGFLOW_URL/api/v1/projects/" \
_10
-H "accept: application/json"

创建项目

创建项目

创建一个新项目。创建一个新项目。


_12
curl -X POST \
_12
"$LANGFLOW_URL/api/v1/projects/" \
_12
"$LANGFLOW_URL/api/v1/projects/" \
_12
-H "accept: application/json" \
_12
-H "Content-Type: application/json" \
_12
-d '{
_12
"name": "new_project_name",
_12
"name": "new_project_name",
_12
"description": "string",
_12
"components_list": [],
_12
"flows_list": []
_12
}'

要在项目创建时添加流和组件,请从/api/v1/store/components/api/v1/flows/read 端点检索 components_listflows_list 的值,并将它们添加到请求体中。要在项目创建时添加流和组件,请从/api/v1/store/components/api/v1/flows/read 端点检索 components_listflows_list 的值,并将它们添加到请求体中。

将流添加到项目会将其从先前位置移动。流不会被复制。将流添加到项目会将其从先前位置移动。流不会被复制。


_16
curl -X POST \
_16
"$LANGFLOW_URL/api/v1/projects/" \
_16
"$LANGFLOW_URL/api/v1/projects/" \
_16
-H "accept: application/json" \
_16
-H "Content-Type: application/json" \
_16
-d '{
_16
"name": "new_project_name",
_16
"name": "new_project_name",
_16
"description": "string",
_16
"components_list": [
_16
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
_16
],
_16
"flows_list": [
_16
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
_16
]
_16
}'

读取项目

读取项目

检索特定项目的详细信息。检索特定项目的详细信息。

要查找项目的 UUID,请调用读取项目端点。要查找项目的 UUID,请调用读取项目端点。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/projects/$project_ID" \
_10
-H "accept: application/json"

更新项目

更新项目

使用 PATCH 请求更新特定项目的信息。使用 PATCH 请求更新特定项目的信息。

每个 PATCH 请求都会用您发送的值更新项目。每个 PATCH 请求都会用您发送的值更新项目。仅更新您请求中包含的字段。即使值未更改,如果您多次发送相同的值,更新仍会处理。


_16
curl -X PATCH \
_16
"$LANGFLOW_URL/api/v1/projects/b408ddb9-6266-4431-9be8-e04a62758331" \
_16
"$LANGFLOW_URL/api/v1/projects/b408ddb9-6266-4431-9be8-e04a62758331" \
_16
-H "accept: application/json" \
_16
-H "Content-Type: application/json" \
_16
-d '{
_16
"name": "string",
_16
"description": "string",
_16
"parent_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
_16
"components": [
_16
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
_16
],
_16
"flows": [
_16
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
_16
]
_16
}'

删除项目

删除项目

删除特定项目。删除特定项目。


_10
curl -X DELETE \
_10
"$LANGFLOW_URL/api/v1/projects/$project_ID" \
_10
-H "accept: */*"

下载项目

下载项目

将项目中的所有流下载为 zip 文件。将项目中的所有流下载为 zip 文件。

--output 标志是可选的。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/projects/download/b408ddb9-6266-4431-9be8-e04a62758331" \
_10
"$LANGFLOW_URL/api/v1/projects/download/b408ddb9-6266-4431-9be8-e04a62758331" \
_10
-H "accept: application/json" \
_10
--output langflow-project.zip
_10
--output langflow-project.zip

上传项目

上传项目

将项目上传到 Langflow。将项目上传到 Langflow。


_10
curl -X POST \
_10
"$LANGFLOW_URL/api/v1/projects/upload/" \
_10
"$LANGFLOW_URL/api/v1/projects/upload/" \
_10
-H "accept: application/json" \
_10
-H "Content-Type: multipart/form-data" \
_10
-F "file=@20241230_135006_langflow_flows.zip;type=application/zip"

日志

检索 Langflow 流的日志。

此端点要求在您的 Langflow 应用程序中启用日志检索。

要启用日志检索,请在您的 .env 文件中包含这些值


_10
LANGFLOW_ENABLE_LOG_RETRIEVAL=true
_10
LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE=10000
_10
LANGFLOW_LOG_LEVEL=DEBUG

要使日志检索正常工作,LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE 必须大于 0。默认值为 10000

使用此 .env 启动 Langflow


_10
uv run langflow run --env-file .env

流式传输日志

使用 Server-Sent Events (SSE) 实时流式传输日志。


_10
curl -X GET \
_10
"$LANGFLOW_URL/logs-stream" \
_10
-H "accept: text/event-stream"

使用可选参数检索日志

使用可选查询参数检索日志。

  • lines_before:时间戳或最后一条日志之前的日志数量。
  • lines_after:时间戳之后的日志数量。
  • timestamp:开始获取日志的时间戳。

所有三个参数的默认值均为 0。使用这些值时,端点将返回最后 10 行日志。


_10
curl -X GET \
_10
"$LANGFLOW_URL/logs?lines_before=0&lines_after=0&timestamp=0" \
_10
-H "accept: application/json"

监控

使用 /monitor 端点监控和修改 Langflow 组件之间传递的消息、顶点构建和事务。

获取顶点构建

检索特定流的顶点构建。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/monitor/builds?flow_id=$FLOW_ID" \
_10
-H "accept: application/json"

删除顶点构建

删除特定流的顶点构建。


_10
curl -X DELETE \
_10
"$LANGFLOW_URL/api/v1/monitor/builds?flow_id=$FLOW_ID" \
_10
-H "accept: */*"

获取消息

使用可选过滤器检索消息。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/monitor/messages" \
_10
-H "accept: application/json"

您可以按 flow_idsession_idsendersender_name 过滤消息。结果可以使用 order_by 查询字符串进行排序。

此示例检索给定聊天会话(session_id)中由 MachineAI 发送的消息,并按时间戳对消息进行排序。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/monitor/messages?flow_id=$FLOW_ID&session_id=01ce083d-748b-4b8d-97b6-33adbb6a528a&sender=Machine&sender_name=AI&order_by=timestamp" \
_10
-H "accept: application/json"

删除消息

按其 ID 删除特定消息。

此示例删除在之前的获取消息示例中检索到的消息。


_10
curl -v -X DELETE \
_10
"$LANGFLOW_URL/api/v1/monitor/messages" \
_10
-H "accept: */*" \
_10
-H "Content-Type: application/json" \
_10
-d '["MESSAGE_ID_1", "MESSAGE_ID_2"]'

更新消息

按其 ID 更新特定消息。

此示例更新 ID 为 3ab66cc6-c048-48f8-ab07-570f5af7b160 的消息的 text 值。


_10
curl -X PUT \
_10
"$LANGFLOW_URL/api/v1/monitor/messages/3ab66cc6-c048-48f8-ab07-570f5af7b160" \
_10
-H "accept: application/json" \
_10
-H "Content-Type: application/json" \
_10
-d '{
_10
"text": "testing 1234"
_10
}'

更新会话 ID

更新消息的会话 ID。

此示例将会话 ID 01ce083d-748b-4b8d-97b6-33adbb6a528a 的值更新为 different_session_id


_10
curl -X PATCH \
_10
"$LANGFLOW_URL/api/v1/monitor/messages/session/01ce083d-748b-4b8d-97b6-33adbb6a528a?new_session_id=different_session_id" \
_10
-H "accept: application/json"

按会话删除消息

删除特定会话的所有消息。


_10
curl -X DELETE \
_10
"$LANGFLOW_URL/api/v1/monitor/messages/session/different_session_id_2" \
_10
-H "accept: */*"

获取事务

检索特定流的所有事务(组件之间的交互)。


_10
curl -X GET \
_10
"$LANGFLOW_URL/api/v1/monitor/transactions?flow_id=$FLOW_ID&page=1&size=50" \
_10
-H "accept: application/json"

Search