Dria Pythonic 智能体基准测试 (DPAB)

社区文章 发布于 2025 年 1 月 15 日

引言

绝大多数(如果不是全部)的(据我们所知)大型语言模型 (LLM) 函数调用基准测试都通过模型基于 JSON 的结构化输出来工作,其中包含函数名称和要传递给函数的参数等元数据 [1]。这种方法非常直接且易于实现,并使事情非常确定,这对于创建可重现的基准测试来说非常有用。然而,通过结构化输出进行函数调用并非是唯一(也并非我们认为的最佳)进行函数调用的方式。本周早些时候,我们发布了 Dria-Agent 模型的首个版本,即 Dria-Agent-α-3BDria-Agent-α-7B。这些模型采用 Pythonic 函数调用 [2],它会提示模型输出一个可执行以生成所需输出的 Python 代码块。这种方法的动机在 Dria-Agent-a 博客文章中有详细解释。

DPAB-α 基准测试

作为 Dria-Agent-α 模型的后续,我们创建了一个新的基准测试,即 DPAB-α,它是 100 个问题的集合,这些问题通过与用于创建 Dria-Agent-α 模型训练数据非常相似的管道进行合成生成和验证。每个数据集行包含以下字段:

  • difficulty:问题的难度,可以是 easy(简单)或 hard(困难)。
  • function_schema_python:用 Python 定义的函数,没有实现。
  • function_schema_json:JSON 格式的函数模式。
  • mock_functions:用返回值实现的模拟函数(Python)。这些用于生成和验证检查列表。
  • user_query:用户查询,是一个模型需要回答/解决的自然语言问题。
  • checklist:检查列表,是一个函数名称和值的列表,它们需要出现在代码执行的输出中。下面是一个检查列表的示例:
"checklist": {
    "functions": [
      "identify_large_files"
    ],
    "values": [
      [
        "/dev/projects/project_a/large_file_1.zip",
        "/dev/projects/project_b/large_dataset.csv"
      ]
    ]
}

这个检查列表强制模型必须使用 identify_large_files 函数,并且在执行输出中包含值 ["/dev/projects/project_a/large_file_1.zip", "/dev/projects/project_b/large_dataset.csv"]。我们如何生成执行输出?我们使用 exec-python 中定义的执行引擎,这是一个 Python 包,允许我们执行任何带有任意数量预定义函数的 Python 代码并返回输出。该包是与 DPAB-α 基准测试同步开发的。现在,您可能会有一个问题:我们如何生成和验证检查列表?我们使用了 Dria-Agent-a 博客文章的数据验证部分中描述的方法,其中我们基本上使用了一个三步管道来生成一个有效的检查列表:

  • Decision:验证模型决定检查列表是否有效。
  • Justification:验证模型根据检查列表、模拟函数和用户查询为其决定提供理由。
  • Revision:如果检查列表无效,验证模型根据理由对其进行修改。

初步结果

在需要创造性或多步骤解决方案的场景中,Pythonic 函数调用性能通常优于基于 JSON 的函数调用,这强化了 Pythonic 函数调用可能更自然、更强大的前提。

我们以严格模式运行了首个版本的 DPAB-α 基准测试,对许多开源和闭源模型进行了测试,结果如下:

模型名称 Pythonic JSON
闭源模型
Claude 3.5 Sonnet 87 45
o1-preview-2024-09-12 55 39
o1-mini-2024-09-12 59 35
gpt-4o-2024-11-20 60 30
开源模型
> 1000 亿参数
DeepSeek V3 (685B) 63 33
MiniMax-01 62 40
Llama-3.1-405B-Instruct 60 38
> 300 亿参数
Qwen-2.5-Coder-32b-Instruct 68 32
Qwen-2.5-72b-instruct 65 39
Llama-3.3-70b-Instruct 59 40
QwQ-32b-Preview 47 21
< 200 亿参数
Dria-Agent-a-7B 70 38
Qwen2.5-Coder-7B-Instruct 44 39
Dria-Agent-a-3B 72 31
Qwen2.5-Coder-3B-Instruct 26 37
Qwen-2.5-7B-Instruct 47 34
Phi-4 (14B) 55 35

克隆 DBAP 仓库以运行评估。

未来工作

除了 Dria-Agent 系列模型,我们还将改进首个版本的 DPAB,并发布带有新智能体设置和更困难问题的 DPAB-β

参考文献

社区

注册登录 发表评论