测试流程详解

从环境准备到报告生成,端到端全流程自动化

流程总览

环境准备

Docker镜像
配置文件
数据集下载

启动评测

容器启动
资源限制
参数配置

API推理

逐题调用
模型推理
答案记录

收集结果

预测结果
判定对比
统计汇总

生成报告

数据可视化
对比分析
网站展示

详细步骤

1

环境准备

构建 Docker 镜像,准备配置文件和数据集

Docker 镜像构建

基于 Python 3.10-slim,安装 OpenCompass v1.2.0

配置文件准备

config.py 声明 6 个模型 API 信息和评测参数

数据集下载

从 OpenCompass 官方 OSS 下载 MMLU 数据集到 /opt/llm-eval/data/mmlu

2

启动评测容器

使用 Docker 运行 OpenCompass 评测任务

docker run --rm \
    --name opencompass-eval \
    --memory=3.5g \
    --cpus=1 \
    -v ./configs:/app/configs \
    -v ./results:/app/results \
    -v /opt/llm-eval/data:/opt/llm-eval/data \
    opencompass:latest \
    python /app/run.py \
        /app/configs/full_eval_config.py \
        --max-num-workers 1 \
        -w /app/results \
        --retry 3 \
        -l
资源限制
内存: 3.5GB | CPU: 1核
数据挂载
配置 + 结果 + 数据集
3

推理执行

顺序执行 6 个模型 × 57 个数据集 = 342 个推理任务

任务分区

OpenCompass 将评测任务分区,每个模型-数据集组合作为独立任务

API 调用流程

1. 构建提示词(使用统一模板)

2. 发送请求到 YH 平台 API

3. 接收模型推理输出

4. 提取答案(A/B/C/D)

5. 记录预测结果

重试机制

遇到 404/504 等错误时自动重试,最多 3 次,间隔 5 秒

4

结果收集

OpenCompass 自动汇总所有预测结果

预测结果

每个题目的模型输出保存在 JSON 文件:

predictions/{model}/{dataset}.json

评估结果

准确率统计和详细判定:

eval/{model}/{dataset}.json
5

数据可视化

使用 Python 处理数据,生成 HTML 报告网站

数据处理流程

OpenCompass 结果
process_data.py
JSON 数据
HTML 页面

技术栈与工具链

环节 技术/工具 说明
环境部署 Docker + OpenCompass v1.2.0 容器化部署,隔离评测环境
模型调用 OpenAI API 兼容接口 统一接口调用 6 个模型
API 平台 YH Platform yhapiplatform.com 聚合平台
数据集 MMLU (5 个子集) 757 道选择题
数据处理 Python 3.10 结果聚合与统计分析
报告生成 HTML / CSS / JS TailwindCSS + Chart.js 可视化

过程数据