Agentic 评测

Agentic 评测

评测能力是可选依赖:

pip install 'twinkle-kit[eval]'

twinkle_agentic.evaluator.Evaluator 是 EvalScope Native runner 的一次性轻量封装。数据集、AgentLoop、工具、Judge、缓存、指标和报告仍由 EvalScope 负责,Twinkle 只适配被评测模型。

Protocol API

from twinkle_agentic.evaluator import Evaluator
from twinkle_agentic.protocol.openai import OpenAI

reports = Evaluator(
    api=OpenAI(model='qwen-plus', api_key='...', base_url='https://example.com/v1'),
    datasets=['gsm8k', 'bfcl_v4'],
    task_config={'generation_config': {'temperature': 0.0}},
).run()

Sampler

from twinkle_agentic.evaluator import Evaluator

reports = Evaluator(
    sampler=sampler,
    datasets=['gsm8k'],
    template=template,
    sampler_kwargs={'adapter_uri': 'twinkle://my-adapter'},
    task_config={'limit': 100, 'generation_config': {'max_tokens': 2048}},
).run()

Sampler 路径会将兼容的 EvalScope 请求微批处理。工具评测要求 sampler 返回结构化 tool calls,或提供 template.parse_tool_call()。HTTP sampler 同时接受 Twinkle SamplingParams 和字典。

能力边界

支持文本/对话、函数调用和 EvalScope Native AgentLoop;不支持多模态、流式、EvalScope 非 Native backend,以及在 adapter 内嵌套 Twinkle rollout。显式 generation 参数必须精确映射,否则会在评测前报错,不会静默近似或忽略。

run() 原样返回 EvalScope 的 dict[str, Report]resolved_task_config 可获取实际构建的配置,EvalScope 创建输出目录后可通过 output_dir 获取。其余透传字段请参考 EvalScope TaskConfig;benchmark 的额外依赖仍应按 EvalScope 文档单独安装。

docs