ArkTS 代码生成能力评测基准
ArkBench 参考业界知名的 SWE-bench 项目,构建了面向 HarmonyOS 应用开发场景的代码生成评测基准。
项目提供了完整的推理与评测流程,能够自动化评估大语言模型在真实开发场景下的代码修复能力。
评测项目来源于:
- HarmonyOS 官方示例
- 行业模板
- HMOS 代码工坊
# 1.同步环境
uv sync
# 2.安装最新hypium (因为http://hypium.rnd.huawei.com/simple非常慢,所以单独安装)
uv pip install xdevice xdevice-devicetest xdevice-aosp xdevice-ohos xdevice-adaptive_engine hypium --index-url http://hypium.rnd.huawei.com/simple --trusted-host hypium.rnd.huawei.com --extra-index-url https://mirrors.tools.huawei.com/pypi/simple --trusted-host mirrors.tools.huawei.com
# 3.如果后续安装其他包需要加--inexact参数
uv add xxx
uv sync --inexact参考官方文档 搭建流水线
评测工程集来源于:HarmonyOS 官方示例、行业模板、HMOS 代码工坊。
解压后的目录结构:
repos/
├── HarmonyOS_Samples/
├── Industry_Templates/
└── openharmony/
npm install -g opencode-aiopencode底层使用 ripgrep 进行grep, glob, list tools等操作, 需要进行安装。
# 检查是否安装过
rg --version
choco install ripgrep
# 或者
scoop install ripgrep
# 或者
winget install BurntSushi.ripgrep.MSVC指向 DevEco Studio 安装目录,编译工具 hvigorw 和调试工具 hdc 依赖此路径。
# Windows(永久生效,需重启终端)
[System.Environment]::SetEnvironmentVariable("DEVECO_HOME", "D:\\DevEco Studio", "User")
# 或临时生效
$env:DEVECO_HOME = "D:\\DevEco Studio"验证路径结构:
$DEVECO_HOME/
├── tools/
│ ├── node/node.exe
│ ├── hvigor/bin/hvigorw.js
│ └── ohpm/bin/
├── sdk/
│ └── default/openharmony/toolchains/hdc.exe
└── jbr/bin/
检查NODE_HOME
$env:NODE_HOME
要求:Harmony OS >= 6.0.0(20)
验证设备连接:
hdc list targets应显示设备序列号。
# 进行推理
python arktsbench/inference/run_inference.py \
--run_id 100_beta \
--model glm-5 \
--agent opencode \
--base_url https://your-api-endpoint.com \
--api_key your-api-key推理完成后会在result/100_beta_glm-5_opencode路径下生成pred.json推理结果文件。
注意: --base_url 和 --api_key 参数为必填项,用于连接模型服务。
# 进行推理(使用内置模型)
python arktsbench/inference/run_inference.py \
--run_id 100_beta \
--dataset ArkTs-SWE-bench.json \
--model glm-5 \
--agent codegeniecodegenie 使用内置模型,--model 参数指定内置模型名称。
# 进行模型评测(使用推理生成的预测结果,run_id 需与推理时一致)
python arktsbench/evaluation/run_evaluation.py \
--run_id 100_beta \
-p result/100_beta_glm-5_opencode/pred.json
# 进行真值评测(使用数据集自带的正确答案)
python arktsbench/evaluation/run_evaluation.py --run_id 101_beta评测完成后,结果保存在 result/{run_id}_{model}_{agent}/ 目录:
汇总报告:
summary.json- 汇总报告(包含统计数据、成功率、各实例结果等)
各实例详情({instance_id}/ 目录):
report.json- 单实例评测报告result.json- 推理结果model_patch.diff- 模型生成的代码补丁ground_truth.diff- 真值补丁test.gif- 测试执行录屏test_output.txt- 测试输出日志run_inference.log- 推理详细日志run_instance.log- 评测详细日志
- 推理时清空.git历史提交,避免模型看到答案
- 接入codegenie
- 获取token消耗数
- 接入codeagent
- 评测保存完整报告文件
- 多台真机并行评测, 提高评测效率
