跳到主要内容

将 Langfuse 与 Langflow 集成

Langfuse (GitHub) 是一个用于 LLM 可观测性的开源平台。它为 AI 应用程序提供了跟踪和监控功能,帮助开发者调试、分析和优化他们的 AI 系统。Langfuse 集成了各种工具和框架,例如 Langflow 等工作流程构建器。

本指南将引导您如何配置 Langflow 以收集关于流程执行的跟踪数据,并自动将数据发送到 Langfuse。

先决条件

将 Langfuse 凭据设置为环境变量

  1. 在 Langfuse 中,进入项目设置,然后创建一个新的 API 密钥集。

  2. 复制以下 API 密钥信息

  • 密钥
  • 公钥
  • 主机 URL
  1. 在运行 Langflow 的相同环境中,将您的 Langfuse 项目凭据设置为环境变量。

以下示例展示了如何在 Linux 或 macOS 终端会话或 Windows 命令提示符会话中设置环境变量:将 SECRET_KEYPUBLIC_KEYHOST_URL 替换为您从 Langfuse 复制的 API 密钥信息。


_10
export LANGFUSE_SECRET_KEY=SECRET_KEY
_10
export LANGFUSE_PUBLIC_KEY=PUBLIC_KEY
_10
export LANGFUSE_HOST=HOST_URL

启动 Langflow 并在 Langfuse 中查看跟踪

  1. 在您设置环境变量的相同终端或环境中启动 Langflow

_10
uv run langflow run

  1. 在 Langflow 中,打开一个现有项目,然后运行一个流程。

    Langflow 会自动收集流程执行的跟踪数据并发送到 Langfuse。

  2. 在您的 Langfuse 项目仪表板中查看收集到的数据。

Example trace in Langfuse

有关 Langfuse 仪表板中的实时公共示例跟踪,请参阅Langfuse 中的公共示例跟踪

禁用 Langfuse 跟踪

要禁用 Langfuse 集成,请移除您在之前步骤中设置的环境变量并重启 Langflow。

使用 Docker Compose 运行 Langfuse 和 Langflow

如果您偏好自托管 Langfuse,可以使用 Docker Compose 同时运行这两个服务。

  1. 在 Langfuse 中,进入项目设置,然后创建一个新的 API 密钥集。

  2. 复制以下 API 密钥信息

  • 密钥
  • 公钥
  • 主机 URL
  1. 将您的 Langflow API 密钥添加到 docker-compose.yml 文件中。在 Langflow GitHub 仓库中提供了一个示例docker-compose.yml 文件。

_32
services
_32
langflow
_32
image: langflowai/langflow:latest # 或 https://hub.docker.com/r/langflowai/langflow 上的其他版本标签
_32
pull_policy: always # 使用 'latest' 镜像时设置为 'always'
_32
ports
_32
- "7860:7860"
_32
depends_on
_32
- postgres
_32
environment
_32
- LANGFLOW_DATABASE_URL=postgresql://langflow:langflow@postgres:5432/langflow
_32
# 这个变量定义了日志、文件存储、监控数据和密钥的存储位置。
_32
- LANGFLOW_CONFIG_DIR=app/langflow
_32
- LANGFUSE_SECRET_KEY=sk-...
_32
- LANGFUSE_PUBLIC_KEY=pk-...
_32
- LANGFUSE_HOST=https://us.cloud.langfuse.com
_32
volumes
_32
- langflow-data:/app/langflow
_32
_32
postgres
_32
image: postgres:16
_32
environment
_32
POSTGRES_USER: langflow
_32
POSTGRES_PASSWORD: langflow
_32
POSTGRES_DB: langflow
_32
ports
_32
- "5432:5432"
_32
volumes
_32
- langflow-postgres:/var/lib/postgresql/data
_32
_32
volumes
_32
langflow-postgres
_32
langflow-data

  1. 启动 Docker 容器。

_10
docker-compose up

  1. 为确认 Langfuse 已连接到您的 Langflow 容器,运行此命令。请确保您已在终端中将 LANGFLOW_HOST 作为变量导出。

_10
docker compose exec langflow python -c "import requests, os; addr = os.environ.get('LANGFUSE_HOST'); print(addr); res = requests.get(addr, timeout=5); print(res.status_code)"

类似以下的输出表示成功


_10
https://us.cloud.langfuse.com
_10
200

Search