Langfuse
Langfuse 是一个开源的 LLM 可观测性平台。它为 AI 应用程序提供追踪和监控功能,帮助开发者调试、分析和优化他们的 AI 系统。Langfuse 与各种工具和框架集成,包括 Langflow 等工作流构建器和运行时。
本指南解释了如何配置 Langflow 以收集关于您流程执行的 tracing 数据,并自动将数据发送到 Langfuse。
前提条件
- 在 Langfuse Cloud 或 Langfuse 自托管 实例中的账户
- 一个 正在运行的 Langflow 服务器,以及您想要追踪的 flow
如果您需要一个流程来测试 Langfuse 集成,请参阅 Langflow 快速入门指南。
设置 Langfuse 凭证作为环境变量
-
创建一组 Langfuse API 密钥。
-
Replicate以下 API 密钥信息:
- Secret Key
- Public Key
- Host URL
-
在运行 Langflow 的同一环境中,将您的 Langfuse 项目凭证设置为环境变量。
在以下示例中,请将
SECRET_KEY
、PUBLIC_KEY
和HOST_URL
替换为您从 Langfuse 获取的 API 密钥详细信息。- Linux 或 macOS
- Windows
这些命令在 Linux 或 macOS 终端会话中设置环境变量:
_10export LANGFUSE_SECRET_KEY=SECRET_KEY_10export LANGFUSE_PUBLIC_KEY=PUBLIC_KEY_10export LANGFUSE_HOST=HOST_URL这些命令在 Windows 命令提示符会话中设置环境变量:
_10set LANGFUSE_SECRET_KEY=SECRET_KEY_10set LANGFUSE_PUBLIC_KEY=PUBLIC_KEY_10set LANGFUSE_HOST=HOST_URL
启动 Langflow 并在 Langfuse 中查看追踪
-
在设置了 Langfuse 环境变量的同一环境中启动 Langflow:
_10uv run langflow run -
运行一个流程。
Langflow 会自动收集并关于流程执行的追踪数据发送到 Langfuse。
-
在您的 Langfuse 仪表板 中查看收集的数据。
Langfuse 还提供了一个 公开的实时追踪示例仪表板。
禁用 Langfuse 追踪
要禁用 Langfuse 集成,请移除 Langfuse 环境变量,然后重新启动 Langflow。
使用 Docker Compose 运行 Langfuse 和 Langflow
作为之前设置的替代方案,特别是对于自托管 Langfuse,您可以使用 Docker Compose 运行这两个服务。
-
创建一组 Langfuse API 密钥。
-
Replicate以下 API 密钥信息:
- Secret Key(密钥)
- Public Key(公钥)
- Host URL(主机 URL)
-
将您的 Langflow 凭据添加到 Langflow 的
docker-compose.yml
文件的environment
部分。以下示例基于 示例
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 容器,请运行以下命令:
_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)"如果出现错误,请确保您已在终端会话中设置了
LANGFUSE_HOST
环境变量。类似以下的输出表示成功:
_10https://us.cloud.langfuse.com_10200