对DeepSeek-V3.2进行自定义评测

最近更新时间:2026-01-08 19:50:56

我的收藏

总览

自动评测支持对模型的通用效果和模型的业务效果进行评测,平台为用户内置了开源评测集,用户可一键发起模型通用能力自动评测。用户也可上传自定义评测集、自定义设置评测指标,支持通过前后处理以及裁判模型输出打分结果。
自动评测支持三种评测模式,分别为“仅评测”、“推理及评测”以及“自定义模式”:
评测模式
模式说明
指标配置及结果输出
仅评测
用户上传带模型推理结果的评测集,在自动评测模块完成打分功能。
支持自定义评测指标、调试指标、整体结果查看和单条评测结果查看:
自定义指标:
在自定义的评测指标时,需要对每个指标的打分方式进行配置。例如使用裁判模型打分时,需要设置裁判模型、打分 Prompt、以及支持自定义前后脚本对输入输出进行处理,以获得指标结果。
调试指标:
支持在正式发起评测任务前对评测样本进行少量评测,调试时,通过调整打分 Prompt 和前后处理脚本以获得预期的评测效果。
整体结果查看:
支持各模型在各评测集的评测结果查看。
单条评测结果查看:
支持对每条评测数据进行各打分步骤的结果进行查看。
推理及评测
用户上传只有query(问题)的评测集,在自动评测模块完成推理结果输出和打分。
自定义评测
支持用户通过自定义评测镜像进行评测。可将评测集、自定义镜像以及存储挂载等内容合并为一个“任务配置”,每一组配置包含评测集、选择镜像、选择版本、挂载路径设置、启动命令、参数设置、环境变量。用户可通过仅选择镜像和版本,或者选择镜像和版本后再设置挂载路径,以实现镜像或者镜像+挂载路径的方式进行评测。
用户可在镜像中或者另外挂载评测脚本自定义评测指标、输出评测结果。
本实践采用“自定义”模式,选择DeepSeek-V3.2为示例的待评测模型在 BFCL_v4_simple_python通过自定义镜像进行评测。
BFCL(Berkeley Function Calling Leaderboard)是首个针对大语言模型(LLM)函数调用与工具使用能力的系统性评估体系。本次选用其中的BFCL_v4_simple_python进行评测,评测DeepSeek-V3.2在此评测集的基础函数调用能力,包含指定函数调用和函数选择调用。


前置准备条件

在创建自动评测任务前,您需要做好以下准备:

1. 制作评测任务镜像

本实践需要使用自定义镜像进行评测,需要进行镜像制作。镜像制作指南可参考创建开发机

1.1 配置开发机信息

单击 训练工坊-新建开发机,镜像选择内置通用镜像/py3.10-cpu,如果您需要torch的环境也可根据需求选择其他版本内置镜像

机器来源可选自有的资源组 或者 通过从TIONE平台购买,由于仅制作镜像不需要太多的资源,选择2c4g及以上资源即可。

启动后,打开WebIDE,可根据个人喜好进行选择,这里选择vscode:




1.2 配置评测集环境

开发机启动之后,打开terminal,以 clone 评测集源码:

git clone https://github.com/ShishirPatil/gorilla.git
配置评测集所需环境,配置步骤需按照评测集对应的README进行:

cd gorilla/berkeley-function-call-leaderboard
pip install -e .
为支持更多且灵活的模型进行评测,可在model_config.py的文件最后加上如下代码:

# 在最后补充这段代码
import os
# add custom model
CUSTOM_MODEL_NAME = os.getenv("MODEL_NAME", "")
if CUSTOM_MODEL_NAME:
MODEL_CONFIG_MAPPING.update({
CUSTOM_MODEL_NAME: ModelConfig(
model_name=CUSTOM_MODEL_NAME,
display_name=CUSTOM_MODEL_NAME,
url="",
org="Custom",
license="apache-2.0",
model_handler=OpenAICompletionsHandler,
input_price=None,
output_price=None,
is_fc_model=True,
underscore_to_dot=True,
)
})


1.3 新建启动代码文件、评测代码、指标保存文件

启动代码文件
评测模块支持四个基本的环境变量,需要按照 四个基本的环境变量要求调整对应的代码
四个环境变量及要求如下:
环境变量
说明
备注
示例
EVAL_OUTPUT_DIR
结果输出目录
镜像中需要将评测结果保存至此目录,以用于结果展示/可视化对比
/opt/ml/output
EVAL_INFERENCE_URL
模型API地址
由于一个任务配置可能会对多个模型服务进行评测,平台通过该环境变量传递模型服务的调用信息
https://api.openai.com/v1/chat/completions
EVAL_AUTHORIZATION_HEADER_KEY
鉴权头名称
Authorization
EVAL_AUTHORIZATION_HEADER_VALUE
鉴权头值
sk-xxx...
启动代码(run.sh):

TEST_CATEGORY="simple_python"

export MODEL_NAME=$MODEL_NAME
export OPENAI_BASE_URL=${EVAL_INFERENCE_URL%/chat/completions}
export OPENAI_API_KEY="${EVAL_AUTHORIZATION_HEADER_VALUE#Bearer* }"
python openfunctions_evaluation.py --model $MODEL_NAME --test-category $TEST_CATEGORY --num-threads 16

评测代码(evaluate.sh):

TEST_CATEGORY="simple_python"

export MODEL_NAME=$MODEL_NAME
export OPENAI_BASE_URL=${EVAL_INFERENCE_URL%/chat/completions}
export OPENAI_API_KEY="${EVAL_AUTHORIZATION_HEADER_VALUE#Bearer* }"
python -m bfcl_eval.eval_checker.eval_runner --model $MODEL_NAME --test-category $TEST_CATEGORY

保存指标代码(save_metric.py):

# save_metric.py

import json
import os
# 获取输出目录
output_dir = os.getenv("EVAL_OUTPUT_DIR")
model_name = os.getenv("MODEL_NAME")
# 构造结果数据
original_result_file = os.path.join("score", model_name, "non_live", "BFCL_v4_simple_python_score.json")
with open(original_result_file) as f:
first_line = f.readline().strip()
original_result = json.loads(first_line)
result = {
"metrics": [
{"name": "accuracy", "value": original_result["accuracy"]},
]
}

# 写入结果文件
result_file = os.path.join(output_dir, 'metrics.json')
with open(result_file, 'w', encoding='utf-8') as f:
json.dump(result, f, indent=2, ensure_ascii=False)


1.4 进行任务调试

准备调试代码文件:

# 模拟由平台注入的环境变量
export MODEL_NAME={YOUR_MODEL_NAME}
export EVAL_INFERENCE_URL={YOUR_MODEL_BASE_URL}
export EVAL_AUTHORIZATION_HEADER_VALUE={YOUR_API_KEY}
export EVAL_OUTPUT_DIR="/opt/ml/output"
mkdir -p $EVAL_OUTPUT_DIR

bash run.sh
bash evaluate.sh
python save_metric.py
单击运行后,结果如下:


1.5 保存镜像

选择对应的开发机任务,单击保存镜像

通过以上步骤完成评测镜像制作,并且将评测依赖、评测代码等都内置在了镜像中。在接下来的自动评测-自定义评测任务中,可直接选择待评测模型以及此镜像直接运行评测任务。

2. 准备待评测的模型服务

准备待评测的模型服务:本模块支持待评测的模型为服务并直接对模型服务进行评测,本次实践需提前将 DeepSeek-V3.2 部署成服务,模型部署指南可参考文档 模型服务部署

使用自定义评测模式进行评测

1. 配置基本信息

配置任务名称等基本信息。


2. 配置任务

进行任务配置。支持用户通过自定义评测镜像进行评测时,可将评测集、自定义镜像以及存储挂载等内容合并为一个“任务配置”,每一组配置包含评测集、选择镜像、选择版本、挂载路径设置、启动命令、参数设置、环境变量。用户可通过仅选择镜像和版本,或者选择镜像和版本后再设置挂载路径,以实现镜像或者镜像+挂载路径的方式进行评测。本实践中由于制作镜像时,已将依赖、评测文件等安装在镜像中,可直接通过镜像进行评测,不需要进行文件挂载。
单击 +添加配置,输入评测集名称。选择上述已准备完成的镜像和版本,填写启动命令。

在环境变量中增加“MODEL_NAME"指定待评测的模型名称。
可单击右上角的“保存”图标,将此配置保存至配置列表,以便成员和个人下次直接选择此配置进行复用。

单击 +从已有配置中选择 可看到配置列表,勾选对应的配置可直接添加。


3. 配置待评测的模型

待评测的模型支持选择模型和模型服务,这里填入事先准备好的运行中的模型服务地址。


4. 配置任务资源

配置资源时,需要申请任务资源和模型资源,任务资源用于运行评测镜像,模型资源用于将模型部署成服务。由于待评测的模型为模型服务,所以本次只需申请任务资源。

单击提交任务 ,开始正式进行评测。

5. 查看评测结果

单击 整体评测结果 查看评测结果。