项目简介

Langfuse是一个全面的开源平台,旨在帮助团队协作开发、监控、评估和调试大型语言模型(LLM)应用。它通过提供可观测性、Prompt管理、评估、数据集和LLM Playground等核心功能,简化了AI应用的开发和运维流程,支持自托管部署,并提供了丰富的API和集成能力。

主要功能点

  • LLM应用可观测性: 跟踪LLM调用、检索、嵌入和代理行为等应用逻辑,帮助检查和调试复杂的日志和用户会话。
  • Prompt管理: 集中化管理、版本控制和协作迭代Prompt模板,支持LLM交互模式的定制。
  • 评估: 支持多种评估方法,包括LLM自动评判、用户反馈收集、手动标注和通过API/SDK进行自定义评估。
  • 数据集: 建立测试集和基准,用于评估LLM应用,支持持续改进和预部署测试。
  • LLM Playground: 一个交互式工具,用于测试和迭代Prompt和模型配置,加速开发反馈循环。
  • 全面API支持: 提供OpenAPI规范和Python/JS/TS的类型化SDK,支持自定义LLM运维工作流。

安装步骤

Langfuse支持多种部署方式。最简单的自托管方式是使用Docker Compose在本地机器上运行:

  1. 克隆Langfuse仓库:'git clone https://github.com/langfuse/langfuse.git'
  2. 进入项目目录:'cd langfuse'
  3. 启动Docker Compose:'docker compose up' 这将启动Langfuse服务,您可以通过浏览器访问其UI。详细的自托管和云部署指南请参考官方文档。

服务器配置

MCP客户端需要配置Langfuse服务器的连接信息。由于Langfuse是一个全栈LLM工程平台,其服务器端(worker)通过RESTful API提供服务。以下是一个典型的MCP客户端配置示例,用于连接自托管的Langfuse服务器。请根据您的实际部署情况调整 'command' 和 'args'。

{
  "server_name": "Langfuse自托管服务器",
  "description": "连接到自托管的Langfuse后端服务,用于LLM应用的可观测性、Prompt管理和评估。",
  "command": "docker",
  "args": [
    "run",
    "--network", "host",
    "langfuse/langfuse:latest",
    "worker",
    "--host", "http://localhost:3030"
  ],
  "environment_variables": {
    "LANGFUSE_SECRET_KEY": "YOUR_LANGFUSE_SECRET_KEY",
    "LANGFUSE_PUBLIC_KEY": "YOUR_LANGFUSE_PUBLIC_KEY",
    "LANGFUSE_HOST": "http://localhost:3030"
  },
  "notes": [
    "此配置假定您已在本地使用Docker Compose启动Langfuse服务,并且worker服务在端口3030上可用。",
    "将 'YOUR_LANGFUSE_SECRET_KEY' 和 'YOUR_LANGFUSE_PUBLIC_KEY' 替换为Langfuse项目设置中生成的API凭据。",
    "如果Langfuse部署在远程服务器上,请将 'http://localhost:3030' 替换为实际的服务器地址和端口。",
    "MCP客户端通过Langfuse的API凭据进行身份验证,并向 '/api' 路径发送请求。"
  ]
}

请注意: 上述 'command' 和 'args' 是一个示例,用于说明如何使用 'docker run' 命令启动一个Langfuse Worker,并将其指向一个假设的API主机。在实际场景中,MCP客户端通常直接通过配置 'LANGFUSE_HOST' 和 API Keys 来与已经运行的Langfuse服务器(通常通过 'docker compose up' 或 Kubernetes 部署)进行通信,而不是由MCP客户端直接启动Langfuse Worker。这个示例是为了满足“配置MCP服务器启动命令”的要求,但实际使用时通常不通过MCP客户端来执行。MCP客户端会通过HTTP/S调用Langfuse的RESTful API。

基本使用方法

  1. 设置API凭据: 在Langfuse UI中创建新项目并生成API密钥(Public Key和Secret Key)。
  2. 集成SDK: 在您的LLM应用代码中,使用Langfuse提供的Python或JavaScript/TypeScript SDK。例如,通过Python SDK记录LLM调用:
    from langfuse import observe
    from langfuse.openai import openai
    
    @observe()
    def story():
        return openai.chat.completions.create(
            model="gpt-4o",
            messages=[{"role": "user", "content": "What is Langfuse?"}],
        ).choices[0].message.content
    
    @observe()
    def main():
        return story()
    
    main()
  3. 运行应用: 执行您的LLM应用。Langfuse SDK会自动将LLM调用、Prompt、评估等数据发送到Langfuse服务器。
  4. 在Langfuse UI中查看: 访问Langfuse UI,您将能够看到详细的跟踪、日志和评估结果,从而监控和调试您的AI应用。

信息

分类

AI与计算