跳到主要内容

部署公共 Langflow 服务器

默认情况下,位于 http://localhost:7860 的 Langflow 服务器不会暴露给公共互联网。 然而,您可以使用转发平台(如 ngrokzrok)转发 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