跳到主要内容

部署公共 Langflow 服务器

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