将 Langfuse 与 Langflow 集成
Langfuse (GitHub) 是一个用于 LLM 可观测性的开源平台。它为 AI 应用程序提供了跟踪和监控功能,帮助开发者调试、分析和优化他们的 AI 系统。Langfuse 集成了各种工具和框架,例如 Langflow 等工作流程构建器。
本指南将引导您如何配置 Langflow 以收集关于流程执行的跟踪数据,并自动将数据发送到 Langfuse。
先决条件
- Langflow 中一个可运行的流程项目
- 一个Langfuse Cloud 或自托管的 Langfuse 账户
将 Langfuse 凭据设置为环境变量
-
在 Langfuse 中,进入项目设置,然后创建一个新的 API 密钥集。
-
复制以下 API 密钥信息
- 密钥
- 公钥
- 主机 URL
- 在运行 Langflow 的相同环境中,将您的 Langfuse 项目凭据设置为环境变量。
以下示例展示了如何在 Linux 或 macOS 终端会话或 Windows 命令提示符会话中设置环境变量:将 SECRET_KEY
、PUBLIC_KEY
和 HOST_URL
替换为您从 Langfuse 复制的 API 密钥信息。
- Linux 或 macOS
- Windows
_10export LANGFUSE_SECRET_KEY=SECRET_KEY_10export LANGFUSE_PUBLIC_KEY=PUBLIC_KEY_10export LANGFUSE_HOST=HOST_URL
_10set LANGFUSE_SECRET_KEY=SECRET_KEY_10set LANGFUSE_PUBLIC_KEY=PUBLIC_KEY_10set LANGFUSE_HOST=HOST_URL
启动 Langflow 并在 Langfuse 中查看跟踪
- 在您设置环境变量的相同终端或环境中启动 Langflow
_10uv run langflow run
-
在 Langflow 中,打开一个现有项目,然后运行一个流程。
Langflow 会自动收集流程执行的跟踪数据并发送到 Langfuse。
-
在您的 Langfuse 项目仪表板中查看收集到的数据。
有关 Langfuse 仪表板中的实时公共示例跟踪,请参阅Langfuse 中的公共示例跟踪。
禁用 Langfuse 跟踪
要禁用 Langfuse 集成,请移除您在之前步骤中设置的环境变量并重启 Langflow。
使用 Docker Compose 运行 Langfuse 和 Langflow
如果您偏好自托管 Langfuse,可以使用 Docker Compose 同时运行这两个服务。
-
在 Langfuse 中,进入项目设置,然后创建一个新的 API 密钥集。
-
复制以下 API 密钥信息
- 密钥
- 公钥
- 主机 URL
- 将您的 Langflow API 密钥添加到
docker-compose.yml
文件中。在 Langflow GitHub 仓库中提供了一个示例docker-compose.yml 文件。
_32services_32langflow_32image: langflowai/langflow:latest # 或 https://hub.docker.com/r/langflowai/langflow 上的其他版本标签_32pull_policy: always # 使用 'latest' 镜像时设置为 'always'_32ports_32 - "7860:7860"_32depends_on_32- postgres_32environment_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_32volumes_32- langflow-data:/app/langflow_32_32postgres_32image: postgres:16_32environment_32POSTGRES_USER: langflow_32POSTGRES_PASSWORD: langflow_32POSTGRES_DB: langflow_32ports_32 - "5432:5432"_32volumes_32- langflow-postgres:/var/lib/postgresql/data_32_32volumes_32langflow-postgres_32langflow-data
- 启动 Docker 容器。
_10docker-compose up
- 为确认 Langfuse 已连接到您的 Langflow 容器,运行此命令。请确保您已在终端中将
LANGFLOW_HOST
作为变量导出。
_10docker 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)"
类似以下的输出表示成功
_10https://us.cloud.langfuse.com_10200