XpertEval 快速入门指南

本文档将帮助您快速上手XpertEval中医药多模态大模型评测系统。

安装

环境要求

安装步骤

  1. 克隆仓库
git clone https://github.com/yourusername/xpert_eval.git
cd xpert_eval
  1. 创建虚拟环境并激活
conda create -n xpert_eval -y python=3.10
conda activate xpert_eval
  1. 安装依赖
pip install -r requirements.txt
  1. 安装开发模式
pip install -e .

基本使用

XpertEval提供了多种使用方式,从简单的API调用到命令行工具,满足不同的使用场景。

方法1:使用Python API

from xpert_eval import evaluate

# 使用便捷函数进行评测
results = evaluate(
    model_name_or_path="your_model_name",  # 您的模型名称或路径
    tasks=["text_understanding", "tongue_diagnosis"],  # 要评测的任务
    device="cuda",  # 运行设备
    output_dir="results"  # 结果输出目录
)

# 查看结果
print(f"总体得分: {results['overall']['overall_score']:.4f}")
print(f"中医专业能力得分: {results['overall']['tcm_score']:.4f}")

方法2:使用命令行工具

# 单模型评测
python xpert_eval/examples/simple_example.py --model your_model_name --tasks text_understanding tongue_diagnosis

# 多模型比较
python xpert_eval/examples/run_comparison.py --models model1 model2 model3 --model_names "模型1" "模型2" "模型3"

# 运行演示脚本
python xpert_eval/examples/run_eval_demo.py

方法3:使用XpertEvaluator类

from xpert_eval import XpertEvaluator

# 初始化评测器
evaluator = XpertEvaluator(
    model_name_or_path="your_model_name",
    device="cuda",
    output_dir="results",
    config_path="path/to/config.json"  # 可选
)

# 执行评测
results = evaluator.evaluate(tasks=["text_understanding", "tongue_diagnosis"])

# 打印结果
evaluator.print_results(results)

评测任务

XpertEval支持以下评测任务:

通用能力评测

中医专业能力评测

自定义配置

您可以通过配置文件自定义评测参数:

{
  "general_eval": {
    "text_understanding": {
      "enabled": true,
      "weight": 0.1,
      "datasets": ["ceval", "mmlu", "cmmlu"]
    },
    "text_generation": {
      "enabled": true,
      "weight": 0.1,
      "datasets": ["helm", "summeval"]
    }
  },
  "xpert_eval": {
    "tongue_diagnosis": {
      "enabled": true,
      "weight": 0.1,
      "datasets": ["tcm_tongue_dataset"]
    }
  }
}

将配置文件保存为JSON格式,并在评测时通过config_path参数指定:

evaluator = XpertEvaluator(
    model_name_or_path="your_model_name",
    config_path="your_config.json"
)

查看评测结果

评测完成后,结果将保存在指定的输出目录中:

您可以通过以下方式查看结果:

import json

# 加载评测结果
with open("results/evaluation_results.json", "r", encoding="utf-8") as f:
    results = json.load(f)

# 查看总体得分
print(f"总体得分: {results['overall']['overall_score']:.4f}")

# 查看各项能力得分
for task, task_result in results.items():
    if task != "overall" and "score" in task_result:
        print(f"{task}: {task_result['score']:.4f}")

评测自己的模型

要评测自己的模型,您需要:

  1. 实现模型接口适配器
  2. 准备评测数据
  3. 配置评测参数
  4. 运行评测

详细步骤请参考自定义模型评测指南

常见问题

Q: 如何添加新的评测数据集?

A: 请参考数据集扩展指南

Q: 如何添加新的评测指标?

A: 请参考评测指标扩展指南

Q: 评测结果的分数如何解释?

A: 所有评测分数均已归一化到0-1区间,分数越高表示性能越好。每个任务的得分由多个子指标加权平均得到,总体得分由各任务得分加权平均得到。