跳到主要内容

部署公开的 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

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

    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 服务器。

为此,当您将客户端连接到 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 访问面板中生成的代码片段会自动使用您公开服务器的域名。

在脚本中进行 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"进行 API 请求时出错: {e}")
_29
except ValueError as e:
_29
print(f"解析响应时出错: {e}")

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

分享流程的 Playground

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

有关更多信息,请参阅 分享流程的 Playground

Search