Dingo 是一个全面的大模型数据质量评估工具。此 MCP 服务器组件将 Dingo 的核心评估能力通过 Model Context Protocol (MCP) 暴露给 LLM 客户端,使其能够远程触发数据评估任务并获取结果。

主要功能点

  • 数据评估服务: 通过 MCP 协议提供数据质量评估服务,支持对文本、图像等多模态数据进行评估。
  • 多种评估方法: 允许 LLM 客户端选择规则 기반 (rule-based) 或基于大型语言模型 (LLM-based) 的评估方法。
  • 灵活的配置: 支持通过参数指定输入数据源、数据格式、评估使用的规则组或 LLM 配置(包括 API 密钥、模型名称、自定义 Prompt 等)。
  • 结果输出: 返回详细的评估结果,包括总结报告和每条数据的评估明细。
  • 能力声明: 客户端可以调用接口查询服务器支持的规则组和 LLM 模型列表。

安装步骤

  1. 确保您的系统已安装 Python (推荐 3.10 或更高版本)。
  2. 安装 Dingo 库及其依赖:
    pip install dingo-python
  3. 根据您需要使用的评估功能(如 LLM 评估、图像评估),可能需要额外安装依赖库。请查阅 Dingo 仓库的 'requirements/' 目录或相关文档获取详细信息。

服务器配置 (供 MCP 客户端连接使用)

MCP 客户端需要通过配置来启动并连接到 Dingo MCP 服务器。以下是一个示例 JSON 配置,说明了如何启动 'dingo.run.mcp_server' 模块:

{
  "server_name": "Dingo Evaluator",
  "command": ["python", "-m", "dingo.run.mcp_server"],
  "args": [],
  "env": {
    "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY", // 如果使用OpenAI模型,在此处或环境变量中设置
    "S3_ACCESS_KEY_ID": "YOUR_S3_AK",      // 如果使用S3数据源,在此处或环境变量中设置
    "S3_SECRET_ACCESS_KEY": "YOUR_S3_SK",
    "S3_ENDPOINT_URL": "YOUR_S3_ENDPOINT",
    "S3_ADDRESSING_STYLE": "YOUR_S3_ADDRESSING_STYLE", // 例如 'virtual' 或 'path'
    "PERSPECTIVE_API_KEY": "YOUR_PERSPECTIVE_API_KEY" // 如果使用Perspective API,在此处或环境变量中设置
  },
  "transport": "sse"
}

基本使用方法 (供 MCP 客户端调用接口)

Dingo MCP 服务器通过 JSON-RPC 暴露了两个主要的工具 (Tool) 方法供客户端调用:

  1. 'list_dingo_components()':

    • 描述: 列出服务器当前可用的规则组和已注册的 LLM 模型标识符。
    • 参数: 无
    • 返回值: 一个 JSON 对象,包含 'rule_groups' (规则组名称列表) 和 'llm_models' (LLM 模型名称列表)。
  2. 'run_dingo_evaluation(input_path, evaluation_type, eval_group_name="", output_dir=None, task_name=None, save_data=True, save_correct=True, kwargs={})':

    • 描述: 触发一次 Dingo 数据质量评估任务。
    • 参数:
      • 'input_path' (字符串): 要评估的输入文件或目录路径。服务器会尝试解析为绝对路径。
      • 'evaluation_type' ("rule" 或 "llm"): 评估类型,基于规则或基于 LLM。
      • 'eval_group_name' (字符串, 可选): 使用的规则组名称 (例如 "default", "sft", "pretrain") 或 LLM 模型名称。对于 LLM 评估,如果提供了 'custom_config' 且其中指定了 'prompt_list' 和 'llm_config',此参数可选。
      • 'output_dir' (字符串, 可选): 评估结果的保存目录。如果未指定,将在输入路径同级目录生成。
      • 'task_name' (字符串, 可选): 任务名称。
      • 'save_data' (布尔值, 默认 True): 是否保存详细的评估结果文件 (.jsonl)。
      • 'save_correct' (布尔值, 默认 True): 在 'save_data' 为 True 时,是否保存评估为“正确”的数据。
      • 'kwargs' (字典, 可选): 传递给 Dingo 'InputArgs' 的额外参数,例如 'dataset' (数据源类型, 'local' 或 'hugging_face')、'data_format' (数据格式, 'jsonl', 'json', 'plaintext' 等)、'column_content' (内容列名)、'custom_config' (用于指定自定义规则、Prompt 或 LLM 参数的字典或文件路径)。
    • 返回值: 一个字符串,表示主要输出文件 (summary.json 或第一个 .jsonl 文件) 的绝对路径,客户端可以根据需要读取该文件获取结果详情。

要使用这些功能,MCP 客户端需要建立与 Dingo MCP 服务器的连接,并通过 JSON-RPC 协议调用上述方法。具体的客户端实现依赖于所使用的 MCP 客户端库。

信息

分类

AI与计算