Langfuse
Langfuse 是一个用于 LLM 可观测性的开源平台。它为 AI 应用程序提供跟踪和监控功能,帮助开发人员调试、分析和优化他们的 AI 系统。Langfuse 与各种工具和框架集成,包括工作流构建器和运行时(如 Langflow)。
本指南解释了如何配置 Langflow 来收集关于流程执行的跟踪数据,并自动将数据发送到 Langfuse。
前提条件
- 在 Langfuse Cloud 或 Langfuse 自托管实例中的账户
- 一个运行中的 Langflow 服务器,其中包含您想要跟踪的流程
如果您需要一个流程来测试 Langfuse 集成,请参阅 Langflow 快速入门。
将 Langfuse 凭据设置为环境变量
-
创建一组 Langfuse API 密钥。
-
复制以下 API 密钥信息:
- Secret Key
- Public Key
- Host URL
-
在运行 Langflow 的同一环境中,将您的 Langfuse 项目凭据设置为环境变量。
在以下示例中,将
SECRET_KEY
、PUBLIC_KEY
和HOST_URL
替换为您从 Langfuse 获取的 API 密钥详细信息。- Linux or 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 # or another version tag on https://hub.docker.com/r/langflowai/langflow_32pull_policy: always # set to 'always' when using 'latest' image_32ports:_32- "7860:7860"_32depends_on:_32- postgres_32environment:_32- LANGFLOW_DATABASE_URL=postgresql://langflow:langflow@postgres:5432/langflow_32# This variable defines where the logs, file storage, monitor data and secret keys are stored._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