跳到主要内容

部署公共 Langflow 服务器

默认情况下,位于 http://localhost:7860 的 Langflow 服务器不会暴露到公共互联网。 但是,您可以使用转发平台(如 ngrokzrok)转发 Langflow 服务器流量,使您的服务器公开访问。

当您的 Langflow 服务器公开后,您可以执行诸如在外部部署 Langflow MCP 服务器处理 API 请求公开分享流程的 Playground等操作。

前提条件

使用 ngrok 暴露您的 Langflow 服务器

  1. 启动 Langflow:


    _10
    uv run langflow run

  2. 在另一个终端窗口中,使用您的 ngrok 认证令牌来验证本地 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 服务器。

为此,在将客户端连接到 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"Error making API request: {e}")
_29
except ValueError as e:
_29
print(f"Error parsing response: {e}")

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

分享流程的 Playground

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

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

Search