Langflow API 入门指南
您可以使用 Langflow API 与 Langflow 进行程序化交互,例如以下用途:
- 创建和编辑流程,包括流程的文件管理。
- 开发使用您的流程的应用程序。
- 开发自定义组件。
- 将 Langflow 构建为大型项目的依赖项。
- 为整个 Langflow 项目做出贡献。
要查看和测试所有可用的端点,您可以在 Langflow 部署的 /docs
端点访问 Langflow API 的 OpenAPI 规范,例如 http://localhost:7860/docs
。
有关在脚本中使用 Langflow API 的示例,请参阅 Langflow 快速入门。
快速入门演示了如何为您的流程获取自动生成的代码片段、使用脚本运行流程以及从 Langflow API 响应中提取数据。
构造 Langflow API 请求
虽然各个选项因端点而异,但所有 Langflow API 请求都有一些共同点,如 URL、方法、参数和身份验证。
作为 Langflow API 请求的示例,以下 curl 命令调用 /v1/run
端点,并向流程的聊天输出组件传递运行时覆盖(tweaks
):
_14curl --request POST \_14 --url "$LANGFLOW_SERVER_URL/api/v1/run/$FLOW_ID?stream=false" \_14 --header "Content-Type: application/json" \_14 --header "x-api-key: $LANGFLOW_API_KEY" \_14 --data '{_14 "input_value": "hello world!",_14 "output_type": "chat",_14 "input_type": "chat",_14 "tweaks": {_14 "ChatOutput-6zcZt": {_14 "should_store_message": true_14 }_14 }_14}'
基础 URL
默认情况下,本地部署在 http://localhost:7860/api
提供 Langflow API 服务。
远程托管的 Langflow 部署可在托管服务设置的域名下访问,例如 http://IP_OR_DNS/api
或 http://IP_OR_DNS:LANGFLOW_PORT/api
。
您可以在 LANGFLOW_PORT
环境变量 中配置 Langflow 端口号。
https://UUID.ngrok.app/api
http://IP_OR_DNS/api
http://IP_OR_DNS:LANGFLOW_PORT/api
身份验证
在 Langflow 1.5 及更高版本中,大多数 API 端点都需要 Langflow API 密钥,即使 AUTO_LOGIN
设置为 True
也是如此。
唯一的例外是 MCP 端点 /v1/mcp
、/v1/mcp-projects
和 /v2/mcp
,它们从不需要身份验证。
要验证 Langflow API 请求,请在 x-api-key
标头或查 询参数中提供 Langflow API 密钥。
有关更多信息,请参阅 API 密钥。
与任何 API 一样,请遵循行业最佳实践来存储和引用敏感凭据。 例如,您可以为您的 API 密钥设置环境变量,然后在您的 API 请求中引用这些环境变量。
方法、路径和参数
Langflow API 请求使用各种方法、路径、路径参数、查询参数和主体参数。 具体的要求和选项取决于您要调用的端点。
例如,要创建流程,您需要将 JSON 格式的流程定义传递给 POST /v1/flows
。
然后,要运行您的流程,您可以调用 POST /v1/run/$FLOW_ID
,并在请求主体中包含可选的运行参数。
API 版本
Langflow API 提供 /v1
和 /v2
端点。
某些端点仅存在于单个版本下,而有些同时存在于 /v1
和 /v2
版本下。
如果请求失败或产生意外结果,请确保您的端点路径具有正确的版本。
设置环境变量
您可以将常用值存储在环境变量中,以便于重复使用、简化令牌轮换并安全地引用敏感值。
您可以使用任何您喜欢的方法来设置环境变量,例如 export
、.env
、zshrc
或 .curlrc
。
然后,在您的 API 请求中引用这些环境变量。
例如:
_22# Set environment variables_22export LANGFLOW_API_KEY="sk..."_22export LANGFLOW_SERVER_URL="https://localhost:7860"_22export FLOW_ID="359cd752-07ea-46f2-9d3b-a4407ef618da"_22export PROJECT_ID="1415de42-8f01-4f36-bf34-539f23e47466"_22export LANGFLOW_API_KEY="sk-..."_22_22# Use environment variables in API requests_22curl --request POST \_22 --url "$LANGFLOW_SERVER_URL/api/v1/run/$FLOW_ID$?stream=false" \_22 --header "Content-Type: application/json" \_22 --header "x-api-key: $LANGFLOW_API_KEY" \_22 --data '{_22 "input_value": "hello world!",_22 "output_type": "chat",_22 "input_type": "chat",_22 "tweaks": {_22 "ChatOutput-6zcZt": {_22 "should_store_message": true_22 }_22 }_22}'
Langflow API 请求中常用 的值包括您的 Langflow 服务器 URL、Langflow API 密钥、流程 ID 和项目 ID。
您可以从 API 访问面板、流程的 URL 中以及通过 GET /flows
检索流程 ID。
尝试一些 Langflow API 请求
一旦您有了 Langflow 服务器 URL,可以尝试调用这些返回 Langflow 元数据的端点。
获取版本
返回当前的 Langflow API 版本:
_10curl -X GET \_10 "$LANGFLOW_SERVER_URL/api/v1/version" \_10 -H "accept: application/json"_10 -H "x-api-key: $LANGFLOW_API_KEY"
结果
_10{_10 "version": "1.1.1",_10 "main_version": "1.1.1",_10 "package": "Langflow"_10}
获取配置
返回您的 Langflow 部署的配置详细信息:
_10curl -X GET \_10 "$LANGFLOW_SERVER_URL/api/v1/config" \_10 -H "accept: application/json"_10 -H "x-api-key: $LANGFLOW_API_KEY"
结果
_10{_10 "feature_flags": {_10 "mvp_components": false_10 },_10 "frontend_timeout": 0,_10 "auto_saving": true,_10 "auto_saving_interval": 1000,_10 "health_check_max_retries": 5,_10 "max_file_size_upload": 100_10}
获取所有组件
返回所有 Langflow 组件的字典:
_10curl -X GET \_10 "$LANGFLOW_SERVER_URL/api/v1/all" \_10 -H "accept: application/json" \_10 -H "x-api-key: $LANGFLOW_API_KEY"
下一步
- 使用 Langflow API 运行流程。
- 使用 Langflow API 上传文件。
- 使用 Langflow API 获取流程日志。
- 在 Langflow API 规范 中探索所有端点。