使用opencompass评测 InternLM API 实践

1.安装opencompass评测环境

conda create -n opencompass python=3.10
conda activate opencompass

cd /root
git clone -b 0.3.3 https://github.com/open-compass/opencompass
cd opencompass
pip install -e .
pip install -r requirements.txt
pip install huggingface_hub==0.25.2

pip install importlib-metadata

以下分别是各阶段完成截图

 

修改评读取测数据集数量

 运行评测进行api评测  (如果出现错误要运行下面的命令)

pip install rouge-chinese
# 如果出现 rouge 导入报错, 请 pip uninstall rouge 之后再次安装 pip install rouge==1.0.1 可解决问题.

2.运行评测

python run.py --models puyu_api.py --datasets demo_cmmlu_chat_gen.py --debug

3.完成评测及结果摘要

<think>我们正在处理用户的问题:OpenCompass测评API模型时遇到Key为空的问题,需要设置key。 根据引用[3],在OpenCompass的配置中,我们使用OpenAISDK类型的模型时,需要设置key参数。在示例中,key是从环境变量中获取的(`internlm_api_key = os.getenv('INTERNLM_API_KEY')`),然后在模型配置中传入`key=internlm_api_key`。 因此,解决key为空的问题,我们需要确保环境变量`INTERNLM_API_KEY`已经设置,并且在配置文件中正确使用。 具体步骤: 1. 设置环境变量:在运行OpenCompass之前,在终端中设置环境变量`INTERNLM_API_KEY`为你的API key。 例如,在Linux系统中,可以使用命令:`export INTERNLM_API_KEY=你的API key` 注意:这个环境变量只在当前终端会话中有效。如果希望永久设置,可以将该命令添加到`~/.bashrc`或`~/.profile`文件中,然后执行`source ~/.bashrc`。 2. 在OpenCompass的配置文件中,确保模型配置的`key`参数是从环境变量中获取的,如引用[3]所示: ```python internlm_api_key = os.getenv('INTERNLM_API_KEY') ... models = [ dict( ..., key=internlm_api_key, ... ) ] ``` 3. 如果环境变量设置正确,但问题仍然存在,可以尝试在配置文件中直接写入API key(不推荐,因为可能泄露密钥): ```python models = [ dict( ..., key='你的API key', # 直接替换为你的API key字符串 ... ) ] ``` 4. 另外,确保你的API key是有效的,并且对应的API服务地址正确。 5. 如果问题仍然无法解决,检查OpenCompass的版本和依赖是否安装正确(参考引用[2]和[4]的安装步骤)。 注意:在配置文件中直接写入密钥虽然可以解决问题,但存在安全风险,建议使用环境变量方式。 根据以上分析,我们给出解决方案: 步骤1:设置环境变量 在运行评测之前,在终端中执行: ```bash export INTERNLM_API_KEY=你的实际API密钥 ``` 步骤2:在配置文件中使用环境变量 确保你的配置文件(例如config.py)中,有类似引用[3]中的代码,从环境变量获取并设置key。 步骤3:运行评测命令 例如:`python run.py configs/your_config.py` 如果用户没有设置环境变量,或者环境变量没有正确传递到OpenCompass进程中,就会导致key为空。 另外,注意在引用[3]的配置中,还设置了`openai_api_base`为API服务地址,确保这个地址也是正确的。 如果用户是在容器中运行,需要确保在容器内设置了环境变量。 如果用户是在脚本中运行,也可以在Python脚本中设置环境变量(但同样要注意安全性): ```python import os os.environ['INTERNLM_API_KEY'] = '你的API key' ``` 但是,这种方法在配置文件中设置环境变量可能不是最佳实践,因为配置文件可能会被分享出去。因此,推荐在启动进程前通过终端设置。 总结:关键点在于确保环境变量`INTERNLM_API_KEY`在运行OpenCompass时已经设置,并且在配置中正确读取。 如果用户按照上述步骤操作后仍然遇到问题,可能需要检查OpenCompass的日志,查看是否有其他错误信息。 相关问题: 1. 如何设置Linux环境变量使其永久生效? 2. 如何在Docker容器中设置环境变量? 3. OpenCompass的配置文件还有哪些常用参数? 4. 如何调试OpenCompassAPI调用错误?</think>### 解决 OpenCompass API 模型 Key 为空的问题 根据引用[3],OpenCompass 配置 API 模型时需要通过 `key` 参数指定 API Key。出现 Key 为空的问题通常由以下原因导致: #### 原因分析 1. **环境变量未设置** 配置文件中的 `key=os.getenv('INTERNLM_API_KEY')` 依赖环境变量,若未设置则返回 `None` 2. **环境变量未正确加载** 未在运行前激活环境变量或终端会话失效 3. **配置文件路径错误** 修改的配置文件未被实际执行 4. **API 服务地址错误** 错误的 `openai_api_base` 导致无法建立连接 #### 解决方案 **步骤 1:设置环境变量** 在终端执行(替换 `your_api_key_here` 为实际 Key): ```bash export INTERNLM_API_KEY="your_api_key_here" ``` **步骤 2:验证环境变量** 执行命令检查是否生效: ```bash echo $INTERNLM_API_KEY # 应显示你的密钥 ``` **步骤 3:修改配置文件** 根据引用[3]的示例,确保配置文件包含: ```python import os internlm_api_key = os.getenv('INTERNLM_API_KEY') # 从环境变量读取 models = [ dict( type=OpenAISDK, path='internlm2.5-latest', key=internlm_api_key, # 关键配置 openai_api_base='https://internlm-chat.intern-ai.org.cn/puyu/api/v1/', # ...其他参数 ) ] ``` **步骤 4:检查 API 地址** 确认 `openai_api_base` 与申请服务时提供的地址完全一致(注意末尾的 `/v1/`) **步骤 5:运行前激活环境** 每次运行前需激活环境: ```bash conda activate opencompass # 根据引用[2] export INTERNLM_API_KEY="your_key" # 每次新会话需重新设置 python run.py your_config.py ``` #### 替代方案(不推荐) 若环境变量仍失效,可 **临时硬编码 Key**(注意安全风险): ```python key="your_api_key_here" # 直接赋值(仅限测试环境) ``` > **重要提示**:硬编码密钥有泄露风险,正式环境请务必使用环境变量[^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值