拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

OpenCompass 安装完全指南:环境准备、推理后端、API 依赖与数据集下载

OpenCompass 安装完全指南:环境准备、推理后端、API 依赖与数据集下载
  • 模型评测
  • 人工智能
  • 大模型
  • AI 评测

【免费下载链接】opencompass

OpenCompass is an LLM evaluation platform, supporting a wide range of models from OpenAI, Anthropic, Gemini, Qwen, GLM, DeepSeek, etc, across 100+ datasets covering knowledge, reasoning, coding, science, language, long-context, and safety.

项目地址:https://gitcode.com/gh_mirrors/op/opencompass
点击查看免费下载

OpenCompass 是一站式大模型评测平台,支持 100+ 数据集与 OpenAI、Anthropic、Gemini、Qwen、GLM、DeepSeek 等众多模型的评测。本文基于 docs/zh_cn/get_started/installation.md 系统讲解其安装全过程:从 Conda 环境搭建、三种 pip 安装模式与源码构建,到 LMDeploy/vLLM 推理后端、商业 API 依赖、特殊数据集依赖的安装,以及三类数据集的准备方式。读完本文,你将能独立搭建一套可运行的 OpenCompass 评测环境,并正确配置数据源。

环境准备:Conda 与 PyTorch

OpenCompass 建议使用 Conda 创建独立的 Python 3.10 虚拟环境,避免与其他项目的依赖相互污染:

conda create --name opencompass python=3.10 -y # conda create --name opencompass_lmdeploy python=3.10 -y conda activate opencompass

注释行给出了第二个环境opencompass_lmdeploy的创建方式:由于推理后端(如 LMDeploy、vLLM)之间以及它们与评测主框架之间经常存在依赖冲突,官方建议用不同的虚拟环境分别管理。

PyTorch 的安装不在 OpenCompass 的安装流程内,需要自行完成。如需自定义 PyTorch 与 CUDA 版本,可参考 PyTorch 官方安装指引自行配置。需要注意的硬性版本门槛是OpenCompass 要求pytorch>=1.13。这一点在 setup.py 中得到印证——运行时依赖requirements/runtime.txt中声明了torch>=1.13.1与transformers>=4.29.1,安装器会据此自动校验版本。

安装 OpenCompass:pip 安装与源码构建

pip 安装(三种模式)

OpenCompass 通过 Python 包管理器安装,根据使用场景选择不同的 extras 选项:

# 支持绝大多数数据集及模型 pip install -U opencompass # 完整安装(支持更多数据集) # pip install "opencompass[full]" # API 测试(例如 OpenAI、Qwen) # pip install "opencompass[api]"

三种模式的差异可以从 setup.py 的extras_require字段得到源码级印证:

安装模式对应 requirements 文件适用场景
默认(无 extras)requirements/runtime.txt绝大多数数据集与模型
opencompass[full]requirements/extra.txt + runtime更多数据集(如 Alpaca-eval、Longbench 等)
opencompass[api]requirements/api.txt + runtime商业模型 API 评测

除了文档提到的full与api,setup.py 中还定义了lmdeploy、vllm、vlm等 extras,它们分别对应推理后端与视觉语言模型评测依赖,下文会详细展开。

从源码构建

如果需要使用 OpenCompass 的最新功能(例如仓库中尚未发布到 PyPI 的新数据集配置),可以克隆源码并采用可编辑模式安装:

git clone https://github.com/open-compass/opencompass opencompass cd opencompass pip install -e .

源码安装后,opencompass命令行工具通过 setup.py 中声明的entry_points注册:opencompass = opencompass.cli.main:main,即opencompass命令实际指向 opencompass/cli/main.py 中的main函数。

安装验证

安装完成后可以通过以下方式快速验证环境是否就绪:

python -c "import opencompass; print(opencompass.__version__)"

当前仓库 opencompass/init.py 中声明的版本为0.5.4(实际输出以你安装到的版本为准)。也可以直接运行opencompass命令查看 CLI 帮助,确认控制台入口已正确注册。

推理后端安装:LMDeploy 与 vLLM

评测大模型时,OpenCompass 需要调用本地推理后端来加载模型。LMDeploy 与 vLLM 是两个主要的后端选项:

# 模型推理后端,由于这些推理后端通常存在依赖冲突,建议使用不同的虚拟环境来管理它们。 pip install "opencompass[lmdeploy]" # pip install "opencompass[vllm]"

从 setup.py 可以看到,lmdeploy与vllm两个 extras 分别追加 requirements/lmdeploy.txt(内容为lmdeploy)与 requirements/vllm.txt(内容为vllm)中的依赖。

安装后可用以下命令验证后端是否可用:

  • LMDeploy(以 Turbomind 引擎对话 InternLM2.5 1.8B 为例):

    lmdeploy chat internlm/internlm2_5-1_8b-chat --backend turbomind
  • vLLM(以 OPT-125M 为例):

    vllm serve facebook/opt-125m

两条验证命令若能正常启动对话或服务,说明后端安装成功。更详细的后端用法可分别参考 LMDeploy 与 vLLM 的官方文档。需要注意的是,这些后端对 CUDA 版本和 Python 版本较为敏感,若与 OpenCompass 主环境冲突,请务必放入独立虚拟环境。

API 模型依赖安装

OpenCompass 支持调用多种商业模型的 HTTP API 进行评测。安装对应依赖有两种方式:直接pip install "opencompass[api]",或按需逐个安装具体的 SDK 包:

pip install opencompass[api] # pip install openai # GPT-3.5-Turbo / GPT-4-Turbo / GPT-4 / GPT-4o (API) # pip install anthropic # Claude (API) # pip install dashscope # 通义千问 (API) # pip install volcengine-python-sdk # 字节豆包 (API) # ...

requirements/api.txt 完整列出了 API 模式下自动安装的依赖,覆盖了主流商业模型厂商:

  • anthropic:Claude 系列
  • dashscope:通义千问(Qwen)
  • openai:GPT 系列(OpenAI)
  • spark_ai_python:讯飞星火
  • tencentcloud-sdk-python:腾讯混元等云上模型
  • volcengine/volcengine-python-sdk:字节豆包(火山引擎)
  • zhipuai:智谱 GLM

其中openai也同时出现在 requirements/runtime.txt 中,说明它是基础依赖的一部分,默认安装即已包含。API 模式常见的使用场景是评测examples/目录下的 API 示例脚本,如 examples/eval_api_demo.py、examples/eval_gpt4.py 等。

数据集相关依赖安装

基础安装已经支持绝大部分常见数据集;但部分数据集(例如 Alpaca-eval、Longbench 等)需要额外的 Python 依赖,安装方式如下:

pip install opencompass[full]

full模式会拉取 requirements/extra.txt 中的全部依赖,从该文件可以看到这些依赖与数据集的对应关系,例如:

  • alpaca-eval==0.6:Alpaca-eval 评测
  • evalplus==0.2.1:HumanEval+、MBPP+ 评测
  • pyext==0.7(Python<3.11):TACO、APPS 等代码执行类数据集
  • math-verify[antlr4_11_0]:数学评测
  • faiss-gpu:ICL TopK 检索器
  • ltp:Lawbench、LEval 中文处理
  • rdkit/selfies/smact等:化学、材料类数据集(SmolInstruct、MolInstructions、SciReasoner)

一个值得注意的细节:由于pyext依赖已移除的inspect.getargspec,在 Python 3.11+ 上无法安装,因此 APPS、TACO、LiveCodeBench 的代码执行评测在 Python 3.11+ 环境不可用——这也是官方在 setup.py 中通过warn_for_skipped_pyext()主动提示的兼容性限制(见 setup.py)。建议保持 Python 3.10 环境,以获得最完整的评测能力。

HumanEvalX / HumanEval+ / MBPP+ 手动安装

这三类代码评测数据集无法通过 pip 自动安装,需要手动克隆评测代码仓库:

git clone --recurse-submodules git@github.com:open-compass/human-eval.git cd human-eval pip install -e . pip install -e evalplus

智能体评测依赖

部分智能体评测(Agent 类)需要安装大量依赖,且可能与你已有的运行环境产生冲突,官方建议为它们创建独立的 Conda 环境:

# T-Eval pip install lagent==0.1.2 # CIBench pip install -r requirements/agent.txt

requirements/agent.txt 中的依赖以 Jupyter 内核、符号计算与机器学习库为主(如jupyter、ipykernel、sympy==1.12、tensorflow==2.14.0),同时以-e git+https://github.com/open-compass/lagent-cibench.git#egg=lagent方式引入 CIBench 专用的 lagent 分支。这类依赖较重且容易与评测主环境冲突,务必独立管理。

数据集准备:三类数据源

OpenCompass 支持的数据集分为三大部分,理解它们的加载方式有助于避免运行评测时出现数据集缺失问题。

1. HuggingFace 数据集(自动下载)

HuggingFace Hub 上公开的数据集会随评测任务自动下载,无需手动准备。这也是默认的数据获取方式。

2. ModelScope 数据集(环境变量切换)

OpenCompass 官方在 ModelScope 上维护了数据集镜像(OpenCompass 官方组织),支持从 ModelScope 自动下载。启用方式为设置环境变量:

export DATASET_SOURCE=ModelScope

可用的数据集(来源于 OpenCompassData-core.zip)包括:

humaneval, triviaqa, commonsenseqa, tydiqa, strategyqa, cmmlu, lambada, piqa, ceval, math, LCSTS, Xsum, winogrande, openbookqa, AGIEval, gsm8k, nq, race, siqa, mbpp, mmlu, hellaswag, ARC, BBH, xstory_cloze, summedits, GAOKAO-BENCH, OCNLI, cmnli

这一机制在源码层面有明确实现:多个数据集脚本会在load方法中根据DATASET_SOURCE环境变量切换下载源。例如 opencompass/datasets/GaokaoBench.py 中的if environ.get('DATASET_SOURCE') == 'ModelScope':分支,以及PMMEval/flores.py、PMMEval/humanevalxl.py中的同类判断。按照 docs/zh_cn/advanced_guides/new_dataset.md 的说明,若未设置DATASET_SOURCE,数据集默认从 OSS 仓库下载。相关的示例脚本可以参考 examples/eval_modelscope_datasets.py,其开头即注释了# export DATASET_SOURCE='ModelScope' # before run this script。

3. 自建及第三方数据集(手动下载解压)

OpenCompass 还提供了一批第三方数据集及自建中文数据集,需要手动下载解压。在 OpenCompass 项目根目录下执行以下命令,即可将数据集准备到${OpenCompass}/data目录:

wget https://github.com/open-compass/opencompass/releases/download/0.2.2.rc1/OpenCompassData-core-20240207.zip unzip OpenCompassData-core-20240207.zip

如果需要使用更完整的数据集包(约 500M),可以使用:

# 如需代理和断点续传,请尝试 aria2c -x16 -s16 -k1M "http://ghfast.top/https://github.com/open-compass/opencompass/releases/download/0.2.2.rc1/OpenCompassData-complete-20240207.zip" wget https://github.com/open-compass/opencompass/releases/download/0.2.2.rc1/OpenCompassData-complete-20240207.zip unzip OpenCompassData-complete-20240207.zip cd ./data find . -name "*.zip" -exec unzip "{}" \;

两个 zip 包中所含数据集的完整清单以 OpenCompass 对应 Release 页面为准。核心包与完整包的区别在于:完整包额外覆盖更多长文本、代码、主观等评测所需的数据集,体积约 500M,建议磁盘空间充裕时使用;其中的子 zip 需要靠最后的find命令批量解压。

此外,OpenCompass 已经支持了大多数常用于性能比较的数据集,具体支持的数据集列表可以直接在 opencompass/configs/datasets 目录下查找,例如gsm8k、mmlu、bbh、ceval、humaneval、longbench等均有对应的配置文件目录。

环境检查清单与下一步

完成以上安装后,建议按以下顺序做一次自检:

  1. conda activate opencompass后python -c "import torch; print(torch.__version__)",确认 PyTorch 版本不低于 1.13;
  2. python -c "import opencompass; print(opencompass.__version__)",确认主框架已安装;
  3. 若使用本地模型,运行lmdeploy chat或vllm serve验证推理后端;
  4. 若使用 API 模型,确认pip show openai anthropic dashscope等对应 SDK 已安装;
  5. 若使用自建/第三方数据集,确认${OpenCompass}/data目录已通过手动下载解压准备好。

接下来可以阅读 快速上手 了解 OpenCompass 的基本用法,或在 examples 目录下寻找与你评测场景最接近的示例脚本(如 examples/eval_base_demo.py、examples/eval_api_demo.py)作为起点。

  • 模型评测
  • 人工智能
  • 大模型
  • AI 评测

【免费下载链接】opencompass

OpenCompass is an LLM evaluation platform, supporting a wide range of models from OpenAI, Anthropic, Gemini, Qwen, GLM, DeepSeek, etc, across 100+ datasets covering knowledge, reasoning, coding, science, language, long-context, and safety.

项目地址:https://gitcode.com/gh_mirrors/op/opencompass
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

返回列表