资讯详情

资讯详情

Qwen-7B-Chat 在 DevQualityEval v0.5.0 评测报告中的表现解读:测试生成任务的分类、评分与复现指南

Qwen-7B-Chat 在 DevQualityEval v0.5.0 评测报告中的表现解读测试生成任务的分类、评分与复现指南【免费下载链接】Qwen3-CoderQwen3-Coder is the code version of Qwen3, the large language model series developed by Qwen team.项目地址: https://gitcode.com/GitHub_Trending/co/Qwen3-Coder本篇技术指南基于仓库内的DevQualityEval v0.5.0 评测报告针对openrouter/qwen/qwen-7b-chat模型在测试生成write-tests任务上的评测结果进行逐项解读并结合 DevQualityEval 框架文档 与测试仓库源码说明其结果分类体系、积分规则的底层逻辑以及如何复现同类评测。读完本文你将掌握 DevQualityEval 评测报告的阅读方法理解 Qwen 系列模型在代码质量基准下的原始表现并能在本地复现对指定模型的评测。报告概览一次针对 Qwen-7B-Chat 的多语言测试生成评测该报告由 DevQualityEval 基准框架在version 0.5.0下自动生成评测执行于2024-06-19 11:28:59。报告主体为单个模型openrouter/qwen/qwen-7b-chat经 OpenRouter 托管的 Qwen-7B-Chat在 Go 与 Java 两种语言的测试生成任务上的结果。该报告目录docs/reports/v0.5.0/qwen-7b-chat/由以下文件组成文件内容README.md报告正文分类图、分类体系说明、模型归属categories.svg对所有被测模型进行分类的柱状图矢量图evaluation.csv逐任务明细评分模型 × 语言 × 仓库 × 任务models-summed.csv按模型汇总的评分golang-summed.csv仅 Go 语言任务的汇总java-summed.csv仅 Java 语言任务的汇总报告中内嵌的分类图如下报告开篇即提醒LLM 具有非确定性以下结果只是当前时间点的快照不应被当作模型能力的绝对结论。结果分类体系七类质量标签的含义DevQualityEval 将每个模型的每次响应按质量划分为七个递进式类别。理解这七类标签是解读全部结果数据的前提category unknown模型无法被归类response error响应过程发生错误no code模型未产生任何代码invalid code模型产生了代码但代码无效executable code模型产生的代码可执行statement coverage reached模型产生的代码达到了完整语句覆盖率no excess response模型响应中没有超出要求的多余内容。该分类层级从能否响应逐步收敛到响应质量是否达标越靠后的类别代表越严格的约束。分类逻辑与 DevQualityEval 的积分规则一一对应详见下文积分规则小节。Qwen-7B-Chat 评测结果解读数据透视模型归属category unknown报告在Result category category unknown小节中列出了openrouter/qwen/qwen-7b-chat即该模型在此次评测中未能被归类到任何有质量区分度的类别。结合 CSV 明细数据可以推断原因其响应虽然总是包含代码且无错误但从未达到可执行代码乃至覆盖率达标阶段因此无法进入executable code及其之后的类别。按语言拆解的明细evaluation.csvevaluation.csv记录了模型在 Go 与 Java 的plain仓库上执行write-tests任务的完整数据语言仓库任务得分覆盖率执行文件数处理时间(ms)响应字符数无错误响应无多余响应含代码响应Gogolang/plainwrite-tests10001512256785/50/55/5Javajava/plainwrite-tests10001800190455/50/55/5汇总数据models-summed.csv / golang-summed.csv / java-summed.csv模型总分20Go 10 Java 10输入代码总字符 8143总处理时间 33123ms总响应字符 14723response-no-error 10/10全部 10 次请求均正常返回response-with-code 10/10全部响应都包含代码response-no-excess 0/10没有任何一次响应是只有测试代码、没有多余内容的coverage 0、files-executed 0没有任何生成文件被执行即生成的测试未通过编译/执行验证语句覆盖率为 0。得分构成推断从积分规则反推可以推断出每语言 10 分的构成write-tests任务共发起 5 次请求response-no-error5每次响应无错误1且包含代码1合计 10 分而compiled编译通过、statement-coverage-reached覆盖率达标、no-excess无多余内容均未得分。换言之该模型会说话但没做对事响应稳定、格式完整但生成的测试既没有编译执行成功也始终夹杂超出要求的内容。评测框架原理write-tests 任务与积分规则要理解上述分数的含义需要回到框架本身的定义。DevQualityEval 是一个用于比较和提升 LLM 代码生成质量的评测基准与框架其核心理念是让模型完成定义良好的软件开发任务如为给定函数编写单元测试并以可自动验证的方式评估结果质量。任务Test Generation测试生成write-tests任务是框架的主要任务之一模型需要为给定源码示例生成测试套件。该任务之所以好评测是因为结果容易自动校验——生成的测试必须能编译且达到 100% 覆盖率而模型只有真正理解源码才能写出这样的测试因此隐式地在评估模型的语言理解能力。流程上框架将模型响应保存为文件并与原始源码一起执行验证。当前write-tests任务可用的 case 覆盖 Java、Go、Ruby 三种语言每种语言包含plain与light两个仓库参见框架文档中的 case 列表。报告目录中同时存在大量其他模型如claude-3.5-sonnet、deepseek-coder-v2、codeqwen等的平行报告说明这是一次多模型横向评测。积分规则Reward Points框架当前按以下规则计分README.md中明确列出response-no-error1响应过程未出错response-not-empty1响应非空response-with-code1响应包含源代码compiled1源码编译通过statement-coverage-reached每覆盖一个执行代码对象 10在transpile与code-repair任务中禁用防止模型通过堆砌任意语句刷分no-excess1响应未包含超出要求的内容passing-tests每个通过的测试 10在write-tests任务中禁用防止模型通过堆砌任意测试用例刷分。可见框架刻意通过禁用项约束投机行为测试生成任务不计passing-tests、修复/转译任务不计statement-coverage-reached从而保证分数反映真实质量。这也解释了为何 Qwen-7B-Chat 在得分上仅有基础的响应分——它没有拿到任何质量相关的加分。从源码看评测数据golang/plain 测试仓库剖析报告中的golang/plain用例并非虚构其测试数据就存放在框架仓库中。查看testdata/golang/plain/plain.gopackage plain func plain() { return // This does not do anything but it gives us a line to cover. }这是评测中最简单的场景——一个空函数仅提供一个可覆盖的语句行。模型需要为它写出能编译并达到 100% 覆盖率的测试。而该仓库的repository.json指定了本仓库要执行的任务{ tasks: [ write-tests ] }框架文档说明仓库根目录下的repository.json决定该仓库运行哪些任务若不存在则运行全部任务。评测的完整调用链在框架 README 的示例日志中有直观呈现框架向模型发送提示词Given the following Go code file ... provide a test file ... The tests should produce 100 percent code coverage and must compile. The response must contain only the test code and nothing else.收到响应后执行symflower test --language golang --workspace ...进行编译与覆盖率验证最终汇总为分数并写出evaluation.csv。这与 Qwen-7B-Chat 报告中的coverage0, files-executed0形成对照生成物没能通过执行验证因而在该环节得分为零。复现与扩展如何运行 DevQualityEval 评测 Qwen 模型如果你想复现该报告或评测其他模型例如 Qwen 系列其他尺寸可按如下步骤进行安装安装 Git 与 Go 后克隆框架仓库并安装二进制git clone eval-dev-quality 仓库地址 cd eval-dev-quality go install -v github.com/symflower/eval-dev-quality/cmd/eval-dev-quality配置模型提供方报告中的模型经 OpenRouter 托管需创建访问密钥并写入环境变量export PROVIDER_TOKENopenrouter:${your-key}执行评测运行全部任务的默认评测eval-dev-quality evaluate若只想评测指定模型可叠加多个--modeleval-dev-quality evaluate --modelopenrouter/qwen/qwen-7b-chat执行结束后明细结果保存在evaluation.csv默认还会生成REPORT.md报告文件及指向各结果文件的链接。更多参数见eval-dev-quality evaluate --help。安全提示框架文档特别提醒默认情况下项目不在沙箱中执行 LLM 生成的代码务必在隔离环境中运行评测例如通过--runtime docker使用容器运行时使用容器时还需注意--configuration容器运行时暂不支持传入配置文件与--testdata路径存在性检查在宿主机上被忽略、容器内仍会校验两项参数的特殊行为。小结本报告为 Qwen-7B-Chat 在 DevQualityEval v0.5.0 上留下了一组基线快照响应稳定、包含代码但生成测试未能通过编译执行验证且普遍包含多余内容最终归入category unknown。需要强调的是LLM 是非确定性的任何单次评测都只是特定时间点的抽样模型的好坏还取决于算力成本、权重开放程度与具体使用场景并不存在普适的最优模型。若想持续跟踪 Qwen 系列在测试生成任务上的表现可直接基于本仓库的 DevQualityEval 框架对qwen-7b-chat乃至更新的 Qwen 模型重新发起评测并对照docs/reports/v0.5.0下其他模型的平行报告进行横向比较。【免费下载链接】Qwen3-CoderQwen3-Coder is the code version of Qwen3, the large language model series developed by Qwen team.项目地址: https://gitcode.com/GitHub_Trending/co/Qwen3-Coder创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →