modelscope/evalscope

A streamlined and customizable framework for efficient large model (LLM, VLM, AIGC) evaluation and performance benchmarking.

EvalScope – LLM和多模态模型的一站式评估平台

简介 – EvalScope是一个Python包,可让您对大型语言模型、视觉语言模型、嵌入/重排序服务甚至自主代理运行各种基准测试。通过单个CLI命令(或几行Python代码),您可以:

  • 评估模型能力 – 运行MMLU、C-Eval、GSM8K、ARC等经典文本基准测试,以及数十个较新的多模态、代码生成、RAG和代理中心套件。
  • 压力测试推理 – 在模型处理请求时测量延迟、首令牌时间、吞吐量等性能指标。
  • 运行代理 – 将基准测试包装在多轮AgentLoop中,该循环可以调用工具(bash、python、网络搜索、Docker沙箱等),并为每个样本记录完整轨迹。
  • 比较模型 – 交互式Web仪表板可视化分数、逐样本预测和性能指标,支持成对“竞技场”对战。
  • 插件式扩展 – 您可以通过几行配置添加自己的数据集、模型、指标或后端(OpenCompass、VLMEvalKit、RAGEval等)。

核心功能(如README中所列)

功能 提供内容
全面基准测试 内置支持数十个行业标准套件(MMLU、C-Eval、GSM8K、MathVista、VQA、代码基准、RAG、代理基准等)。
多模态与多领域 适用于纯LLM、视觉语言模型、嵌入服务、重排序器和生成式AIGC模型。
多后端集成 无需编写胶水代码即可调用OpenCompass、VLMEvalKit、RAGEval和其他第三方评估器。
代理评估模式 在具有可插拔策略、工具和Docker沙箱的可控AgentLoop中运行基准测试,并记录详细的agent_trace
推理性能测试 报告TTFT、TPOT、吞吐量并可模拟多轮对话的压力测试工具。
交互式Web仪表板 用于模型比较、分数表、逐样本预测和代理轨迹可视化的React/Vite UI。
竞技场模式 多个模型之间的成对战,自动排名。
可扩展性 通过简单的注册API添加自定义数据集、模型、指标甚至整个新后端。

典型工作流程(快速入门)

# 安装包
pip install evalscope

# 评估远程OpenAI兼容API(无需GPU)
# – 选择GSM8K和ARC基准测试,每个运行5个示例

evalscope eval \
  --model your-model-name \
  --api-url $OPENAI_API_BASE_URL \
  --api-key $OPENAI_API_KEY \
  --eval-type openai_api \
  --datasets gsm8k arc \
  --limit 5

或者,从Python:

from evalscope import run_task, TaskConfig

cfg = TaskConfig(
    model='your-model-name',
    api_url='https://my-endpoint/v1',
    api_key='my_key',
    eval_type='openai_api',
    datasets=['gsm8k', 'arc'],
    limit=5,
)
run_task(cfg)   # 与CLI相同

该命令联系模型服务,运行选定的基准测试,收集准确率分数性能数据,最后启动一个本地Web UI,您可以在其中探索结果。


谁可能使用EvalScope?

  • 模型开发者 – 快速将新LLM或VLM与数十个公共数据集进行基准测试,并查看其不足之处。
  • 运维/平台团队 – 对模型服务端点运行压力测试,以验证延迟和吞吐量SLA。
  • 研究实验室 – 使用内置的多轮循环评估代理行为(工具调用、ReAct、代码生成),并记录轨迹以供分析。
  • 产品团队 – 在仪表板中并排比较多个候选模型,以做出数据驱动的选择。

安装与文档


总结 – EvalScope是一个成熟、积极维护的评估框架,涵盖广泛AI模型的准确性、速度和代理能力,全部封装在用户友好的CLI和可视化仪表板中。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目