部署公共 Langflow 服务器
默认情况下,位于 http://localhost:7860
的 Langflow 服务器不会暴露到公共互联网。
但是,您可以使用转发平台(如 ngrok 或 zrok)转发 Langflow 服务器流量,使您的服务器公开访问。
当您的 Langflow 服务器公开后,您可以执行诸如在外部部署 Langflow MCP 服务器、处理 API 请求和公开分享流程的 Playground等操作。
前提条件
-
安装反向代理或转发服务。
本指南使用 ngrok,但您可以使用任何类似的反向代理或转发平台。
如果您想按照本指南操作,请安装 ngrok 并创建 ngrok 认证令牌。
使用 ngrok 暴露您的 Langflow 服务器
-
启动 Langflow:
_10uv run langflow run -
在另一个终端窗口中,使用您的 ngrok 认证令牌来验证本地 ngrok 服务器:
_10ngrok config add-authtoken NGROK_AUTHTOKEN -
使用 ngrok 将您的 Langflow 服务器暴露到公共互联网:
_10ngrok http http://localhost:7860此示例假设您使用默认的 Langflow 监听地址
http://localhost:7860
。如果您有不同的监听地址,必须相应地修改此命令。ngrok 会话在您的终端中启动,并部署一个没有身份验证的临时域名。 要添加身份验证或部署静态域名,请参阅 ngrok 文档。
Forwarding
行显示您的 Langflow 服务器的转发地址:_10Forwarding https://94b1-76-64-171-14.ngrok-free.app -> http://localhost:7860转发地址充当您的 Langflow 服务器的反向代理,ngrok 将您的本地流量转发到此域名。
-
要验证您的 Langflow 服务器是否公开可用,请导航到转发地址 URL,例如
https://94b1-76-64-171-14.ngrok-free.app
。
使用公共 Langflow 服务器
当您的 Langflow 服务器公开后,您可以执行诸如在外部部署 Langflow MCP 服务器、处理 API 请求和公开分享流程的 Playground等操作。
在外部部署您的 MCP 服务器
部署公共 Langflow 服务器后,您还可以公开访问 Langflow 项目的 MCP 服务器。
为此,在将客户端连接到 Langflow MCP 服务器时使用您服务器的转发地址。
处理 API 请求
要向公共 Langflow 服务器的 Langflow API 端点发送请求,请使用服务器的域名作为 API 请求的基础 URL。 例如:
_10curl -X POST \_10 "PUBLIC_SERVER_DOMAIN/api/v1/webhook/FLOW_ID" \_10 -H "Content-Type: application/json" \_10 -H "x-api-key: LANGFLOW_API_KEY" \_10 -d '{"data": "example-data"}'
对于在公共 Langflow 服务器上创建的流程,在 API 访问面板中生成的代码片段会自动使用您的公共服务器域名。
在脚本中进行 Langflow API 调用时,您也要使用公共域名,包括 Langflow 自动生成的代码片段。
例如,以下代码片段调用 ngrok 域名来触发指定的流程(d764c4b8...
):
_29import requests_29_29url = "https://3f7c-73-64-93-151.ngrok-free.app/api/v1/run/d764c4b8-5cec-4c0f-9de0-4b419b11901a" # 该流程的完整 API 端点 URL_29_29# 请求载荷配置_29payload = {_29 "output_type": "chat",_29 "input_type": "chat",_29 "input_value": "Hello"_29}_29_29# 请求头_29headers = {_29 "Content-Type": "application/json",_29 "x-api-key: LANGFLOW_API_KEY"_29}_29_29try:_29 # 发送 API 请求_29 response = requests.request("POST", url, json=payload, headers=headers)_29 response.raise_for_status() # 对错误状态码抛出异常_29_29 # 打印响应_29 print(response.text)_29_29except requests.exceptions.RequestException as e:_29 print(f"Error making API request: {e}")_29except ValueError as e:_29 print(f"Error parsing response: {e}")
有关脚本中 Langflow API 的演示,请参阅快速入门。
分享流程的 Playground
部署公共 Langflow 服务器后,您可以使用可分享 Playground 选项在公共 URL 上提供流程的 Playground。 如果用户访问此 URL,他们可以与流程的聊天输入和输出进行交互并查看结果,而无需安装 Langflow 或生成 Langflow API 密钥。
有关更多信息,请参阅分享流程的 Playground。