Langfuse
Langfuse 是一个开源的 LLM 可观测性平台。它为 AI 应用程序提供追踪和监控功能,帮助开发人员调试、分析和优化其 AI 系统。Langfuse 与各种工具和框架集成,包括工作流构建器和像 Langflow 这样的运行时。
本指南介绍了如何配置 Langflow 以收集有关流执行的 追踪 (tracing) 数据,并自动将数据发送到 Langfuse。
先决条件
- 一个 Langfuse Cloud 或 Langfuse 自托管 (self-hosted) 实例的帐户
- 一个 正在运行的 Langflow 服务器,其中包含您想要追踪的 流 (flow)
如果您需要一个流来测试 Langfuse 集成,请参阅 Langflow 快速入门。
将 Langfuse 凭据设置为环境变量
-
创建一组 Langfuse API 密钥。
-
复制以下 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 密钥。
-
复制以下 API 密钥信息:
- Secret Key
- Public Key
- Host 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