跳到主要内容

部署公共 Langflow 服务器

默认情况下,位于 http://localhost:7860 的 Langflow 服务器不会暴露给公共互联网。 然而,您可以使用转发平台(如 ngrok 或 zrok)转发 Langflow 服务器流量,使您的服务器变为公共可用。

当您的 Langflow 服务器变为公共可用时,您可以执行诸如外部部署 Langflow MCP 服务器、提供 API 请求服务以及公开共享流的 Playground等操作。

先决条件​

在计划托管 Langflow 安装的机器上,安装 Langflow 以及反向代理或转发服务。

本指南使用 ngrok,但您可以使用任何类似的反向代理或转发平台。

如果您想跟随本指南进行操作,请安装 ngrok 并创建 ngrok authtoken。

使用 ngrok 暴露您的 Langflow 服务器​

  1. 启动 Langflow:


    _10
    uv run langflow run

  2. 在另一个终端窗口中,使用您的 ngrok authtoken 对本地 ngrok 服务器进行身份验证:


    _10
    ngrok config add-authtoken NGROK_AUTHTOKEN

  3. 使用 ngrok 将您的 Langflow 服务器暴露给公共互联网:


    _10
    ngrok http http://localhost:7860

    此示例假设您使用默认的 Langflow 监听地址 http://localhost:7860。如果您使用了不同的监听地址,则必须相应地修改此命令。

    ngrok 会话在您的终端中启动,并部署一个没有身份验证的临时域名。 要添加身份验证或部署静态域名,请参阅 ngrok 文档。

    Forwarding 行会打印 Langflow 服务器的转发地址:


    _10
    Forwarding https://94b1-76-64-171-14.ngrok-free.app -> http://localhost:7860

    转发地址充当 Langflow 服务器的反向代理,ngrok 会将您的本地流量转发到此域名。

  4. 要验证您的 Langflow 服务器是否公开可用,请导航到转发地址 URL,例如 https://94b1-76-64-171-14.ngrok-free.app。

使用公共 Langflow 服务器​

当您的 Langflow 服务器变为公共可用时,您可以执行诸如外部部署 Langflow MCP 服务器、提供 API 请求服务以及公开共享流的 Playground等操作。

外部部署 MCP 服务器​

部署公共 Langflow 服务器后,您还可以公开访问 Langflow 项目的 MCP 服务器。

为此,请在连接客户端以使用服务器操作时使用服务器的转发地址。

提供 API 请求服务​

要向公共 Langflow 服务器的 Langflow API 端点发送请求,请使用服务器域名作为 API 请求的基础 URL。 例如:


_10
curl -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 access 窗格中生成的代码段会自动使用您的公共服务器域名。

在脚本中进行 Langflow API 调用(包括 Langflow 自动生成的代码段)时,您也需要使用您的公共域名。 例如,以下代码段调用 ngrok 域名来触发指定的流 (d764c4b8...):


_29
import requests
_29
_29
url = "https://3f7c-73-64-93-151.ngrok-free.app/api/v1/run/d764c4b8-5cec-4c0f-9de0-4b419b11901a" # 此流的完整 API 端点 URL
_29
_29
# 请求负载配置
_29
payload = {
_29
"output_type": "chat",
_29
"input_type": "chat",
_29
"input_value": "Hello"
_29
}
_29
_29
# 请求头
_29
headers = {
_29
"Content-Type": "application/json",
_29
"x-api-key": "LANGFLOW_API_KEY"
_29
}
_29
_29
try:
_29
# 发送 API 请求
_29
response = requests.request("POST", url, json=payload, headers=headers)
_29
response.raise_for_status() # 为错误的响应状态码抛出异常
_29
_29
# 打印响应
_29
print(response.text)
_29
_29
except requests.exceptions.RequestException as e:
_29
print(f"Error making API request: {e}")
_29
except ValueError as e:
_29
print(f"Error parsing response: {e}")

有关脚本中 Langflow API 的演示,请参阅快速入门。

共享流的 Playground​

部署公共 Langflow 服务器后,您可以使用 Shareable Playground 选项在公共 URL 上提供流的 Playground。 如果用户访问此 URL,他们可以与流的聊天输入和输出进行交互并查看结果,而无需安装 Langflow 或生成 Langflow API 密钥。

有关更多信息,请参阅共享流的 Playground。

Search