跳到主要内容

Langfuse

Langfuse 是一个开源的 LLM 可观测性平台。它为 AI 应用程序提供追踪和监控功能,帮助开发人员调试、分析和优化其 AI 系统。Langfuse 与各种工具和框架集成,包括工作流构建器和像 Langflow 这样的运行时。

本指南介绍了如何配置 Langflow 以收集有关流执行的 追踪 (tracing) 数据,并自动将数据发送到 Langfuse。

先决条件

提示

如果您需要一个流来测试 Langfuse 集成,请参阅 Langflow 快速入门

将 Langfuse 凭据设置为环境变量

  1. 创建一组 Langfuse API 密钥

  2. 复制以下 API 密钥信息:

    • Secret Key
    • Public Key
    • Host URL
  3. 在运行 Langflow 的相同环境中,将您的 Langfuse 项目凭据设置为环境变量。

    在以下示例中,将 SECRET_KEYPUBLIC_KEYHOST_URL 替换为来自 Langfuse 的 API 密钥详细信息。

    这些命令在 Linux 或 macOS 终端会话中设置环境变量:


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

启动 Langflow 并查看 Langfuse 中的追踪

  1. 在设置了 Langfuse 环境变量的相同环境中启动 Langflow:


    _10
    uv run langflow run

  2. 运行一个流。

    Langflow 会自动收集有关流执行的追踪数据并将其发送到 Langfuse。

  3. 在您的 Langfuse 控制面板 中查看收集的数据。

    Langfuse 还提供了一个 公开的实时追踪示例控制面板

禁用 Langfuse 追踪

要禁用 Langfuse 集成,请删除 Langfuse 环境变量,然后重启 Langflow。

使用 Docker Compose 运行 Langfuse 和 Langflow

作为前面设置的替代方案,特别是对于自托管的 Langfuse,您可以使用 Docker Compose 运行这两个服务。

  1. 创建一组 Langfuse API 密钥

  2. 复制以下 API 密钥信息:

    • Secret Key
    • Public Key
    • Host URL
  3. 将您的 Langflow 凭据添加到 Langflow docker-compose.yml 文件的 environment 部分。

    以下示例基于 示例 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:

  4. 启动 Docker 容器:


    _10
    docker-compose up

  5. 要确认 Langfuse 已连接到您的 Langflow 容器,请运行以下命令:


    _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)"

    如果出现错误,请确保您已在终端会话中设置了 LANGFUSE_HOST 环境变量。

    类似以下的输出表示成功:


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

另请参阅

Search