Skip to content

Judger Agent 详细指南

JudgerAgent 是 LoopAI 闭环中的评测节点,主要负责把“当前模型表现如何”这件事测清楚。

核心职责

  • 执行评测任务
  • 调用本地或远程模型服务完成推理
  • 生成样例输出、分数与评测结果

进入它之前通常要准备什么

通用前置字段包括:

字段名类型说明
eval_task_typestr评测任务类型。目前支持 codetext2sqlgeneral_text,默认值为 code
eval_model_pathstr被评测的模型路径。
eval_temperaturedouble模型温度参数。
eval_top_pdoubletop-p 采样的累计概率阈值。
eval_problem_pathstrjsonl 格式的问题集文件路径。相关字段要求见下文“评测数据集字段”。
eval_vllm_tensor_parallel_sizeint张量并行大小,默认值为 1
eval_vllm_gpu_memory_utilizationdoubleGPU 显存利用率。
cuda_visible_devicesstr评测任务指定的 GPU 编号,例如 0,1。默认值为 0

code 任务前置字段

字段名类型说明
eval_batch_sizeint生成样例的批处理大小。
eval_case_numint每条问题生成的样例数量。

text2sql 任务前置字段

字段名类型说明
eval_batch_sizeint生成样例的批处理大小。
eval_case_numint每条问题生成的样例数量。
eval_text2sql_dirstr数据库文件夹路径,例如 path/to/your/database/

general_text 任务前置字段

字段名类型说明
bench_dataflow_eval_typestr通用文本任务类型,例如 key2_qakey1_text_score
key_mappingstr问题集 JSON 字段映射。若未设置,系统会尝试自动识别。例如 {"input_question_key":"question","input_target_key":"answer","input_pred_key":"generated_ans"}

评测数据集字段

code 任务

字段名含义说明
task_id题目标号格式可以是 问题集名/序号序号
prompt问题提示词通常是函数定义加问题描述。为了减少后处理,模型生成结果应为完整函数。
entry_point评测入口函数例如 return1
canonical_solution标准程序例如 def return1():\n return 1,需要提供完整代码。
test_list测试用例列表例如 ["assert return1() == 1"],其中函数名应与 entry_point 一致。

text2sql 任务

字段名含义说明
task_id题目标号格式可以是 问题集名/序号序号
prompt问题提示词模型的输入提示。
db_id数据库名称若值为 dbName,则 dbName.sqlite 应位于 {judger.eval_text2sql_dir}/dbName 目录下。
question问题内容例如自然语言查询问题。
ground_truth标准答案对应问题的标准 SQL。

它的输入和输出可以怎么理解

输入通常包括:

  • 模型信息
  • 评测任务定义
  • 数据集与评测配置

输出通常包括:

  • 样例输出:codetext2sql 任务输出到 judger.output_case_pathgeneral_text 任务输出到 judger.output_pred_path
  • 评测结果:输出到 judger.output_result_path
  • 上述输出路径都可以继续提供给 Analyzer 使用

在闭环中的位置

Judger 通常是闭环里真正开始执行的第一层。没有这一步,后续分析、数据获取和训练都缺少可靠依据。

使用时最该关注什么

  • 模型服务是否可用
  • 评测任务是否与目标场景匹配
  • 结果路径是否成功生成
  • 输出样例是否足以支撑后续问题分析

Built with VitePress for LoopAI