使用说明

项目简介

Phoenix 是一个开源的 AI 可观测平台,旨在帮助开发者进行 LLM 应用的实验、评估和故障排查。它提供了丰富的功能,覆盖了 LLM 应用开发生命周期的多个关键环节。作为其核心组成部分之一,Phoenix 包含了一个基于 Model Context Protocol (MCP) 构建的服务器实现,允许兼容 MCP 的 LLM 客户端以标准化的方式访问和利用平台提供的上下文信息和功能。

主要功能点

  • 追踪 (Tracing): 使用基于 OpenTelemetry 的插桩技术追踪 LLM 应用的运行时流程,可视化调用链和中间步骤。
  • 评估 (Evaluation): 利用 LLM 或自定义方法评估应用的性能,特别是对于检索增强生成 (RAG) 和聊天模型的输出质量。
  • 数据集 (Datasets): 创建和管理用于实验、评估和微调的版本化示例数据集。
  • 实验 (Experiments): 系统地跟踪和评估不同的提示、模型和检索策略的变更及其性能。
  • Prompt Playground: 交互式界面,用于优化提示、比较不同模型、调整参数和重放已追踪的 LLM 调用。
  • 提示管理 (Prompt Management): 使用版本控制、标签和实验等方式,系统化地管理和测试提示变更。

安装步骤

Phoenix 及其包含的 MCP 服务器组件可以通过 pip 或 conda 进行安装:

pip install arize-phoenix

此外,Phoenix 也提供 Docker 镜像,可以通过 Docker 或 Kubernetes 进行容器化部署。

服务器配置(供MCP客户端参考)

Phoenix 平台在运行时会启动其 MCP 服务器。MCP 客户端需要知道如何连接到这个服务器并与其通信。连接信息通常包含服务器名称和连接参数,这些参数定义了客户端应使用哪种传输协议(如 Stdio、SSE、WebSocket)以及如何找到服务器(例如,对于 Stdio 传输,是启动服务器进程的命令及其参数;对于网络传输,是服务器的网络地址)。

以下是连接到一个 Phoenix MCP 服务器(特别是参考项目教程中基于 FastMCP 构建的示例服务器)的示例配置结构,供 MCP 客户端实现参考:

{
  "name": "Financial Analysis Server",
  "params": {
    "command": "fastmcp",
    "args": ["run", "./tutorials/mcp/tracing_between_mcp_client_and_server/server.py"]
  }
}
  • 'name': MCP 服务器声明的名称。客户端通常使用此名称来识别服务器。
  • 'params': 连接参数。具体内容取决于所使用的传输协议。
    • 对于 'stdio' 传输:
      • 'command': 用于启动 MCP 服务器进程的可执行文件或脚本。
      • 'args': 传递给 'command' 的命令行参数列表。

请注意,这是一个使用 Stdio 传输协议连接到教程示例服务器的配置示例。实际部署的 Phoenix MCP 服务器可能使用不同的名称、传输协议(如 WebSocket)和相应的连接参数(如网络地址和端口)。MCP 客户端需要根据实际部署情况获取正确的配置信息。

基本使用方法

安装并运行 Phoenix 平台后,兼容 MCP 协议的 LLM 客户端或代理框架(例如使用 '@arizeai/phoenix-mcp' 或其他 MCP 客户端库构建的客户端)可以连接到 Phoenix MCP 服务器。连接成功后,客户端可以:

  1. 发现能力: 查询服务器声明的资源、工具和 Prompt 模板。
  2. 访问资源: 读取服务器托管的数据或上下文信息(例如,访问特定数据集的示例)。
  3. 调用工具: 执行服务器注册的外部功能(例如,调用教程示例中的 'analyze_stock' 工具)。
  4. 使用 Prompt 模板: 获取 Prompt 模板并结合变量进行渲染,用于生成发送给 LLM 的最终 Prompt。

通过这种方式,LLM 应用可以利用 Phoenix 提供的强大后后端服务来增强其功能和可观测性。

信息

分类

AI与计算