τ-bench#

概述#

τ-bench(Tau Bench)是一个用于评估通过领域特定 API 工具和政策指南与用户交互的对话式 AI 代理的基准测试。它模拟动态的多轮对话,其中语言模型同时扮演用户和代理角色。

任务描述#

  • 任务类型:对话代理评估

  • 输入:具有特定目标和约束的用户场景

  • 输出:代理通过 API 工具调用执行操作以完成任务

  • 领域:航空客户服务、零售客户服务

主要特性#

  • 使用 LLM 模拟用户的动态对话仿真

  • 领域特定的 API 工具和政策指南

  • 真实的客户服务场景

  • 测试多轮对话能力

  • 评估工具使用和政策合规性

评估说明#

  • 需要安装pip install git+https://github.com/sierra-research/tau-bench

  • 用户模型配置:需设置用户模拟模型

  • 主要指标:基于任务完成奖励的 准确率(Accuracy)

  • 支持 航空(airline)零售(retail) 领域

  • 使用 pass@k 聚合方法进行鲁棒性评估

  • 使用示例

属性#

属性

基准测试名称

tau_bench

数据集 ID

tau-bench

论文

N/A

标签

Agent, FunctionCalling, Reasoning

指标

N/A

默认示例数量

0-shot

评估分割

test

聚合方式

mean_and_pass_hat_k

数据统计#

统计数据不可用。

样例示例#

样例示例不可用。

提示模板#

未定义提示模板。

额外参数#

参数

类型

默认值

描述

user_model

str

qwen-plus

用于在环境中模拟用户的模型。

api_key

str

EMPTY

用户模型后端的 API 密钥。

api_base

str

https://dashscope.aliyuncs.com/compatible-mode/v1

用户模型 API 请求的基础 URL。

generation_config

dict

{'temperature': 0.0}

用户模型模拟的默认生成配置。

使用方法#

使用 CLI#

evalscope eval \
    --model YOUR_MODEL \
    --api-url OPENAI_API_COMPAT_URL \
    --api-key EMPTY_TOKEN \
    --datasets tau_bench \
    --limit 10  # 正式评估时请删除此行

使用 Python#

from evalscope import run_task
from evalscope.config import TaskConfig

task_cfg = TaskConfig(
    model='YOUR_MODEL',
    api_url='OPENAI_API_COMPAT_URL',
    api_key='EMPTY_TOKEN',
    datasets=['tau_bench'],
    dataset_args={
        'tau_bench': {
            # extra_params: {}  # 使用默认额外参数
        }
    },
    limit=10,  # 正式评估时请删除此行
)

run_task(task_cfg=task_cfg)