细粒度评估 - InvokeOpsFineGrainedEvaluation
功能介绍
该接口提供细粒度评估能力,基于评估器维度,无需预先创建评测集和评估任务,只需指定评估器并传入待评估数据即可完成评估,评估结果通过流式(SSE)或非流式方式返回。
适用场景:
与现有评估任务流程的区别:
调用方法
请参见如何调用API。
授权信息
账号根用户具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备如下身份策略权限,更多的权限说明请参见权限和授权项。
| 授权项 | 访问级别 | 资源类型(*为必须) | 条件键 | 别名 | 依赖的授权项 |
|---|---|---|---|---|---|
| agentarts:evaluator:InvokeOpsFineGrainedEvaluation | Write | evaluator * | g:ResourceTag/<tag-key> | - | - |
URI
POST /v1/ops/evaluators/{evaluator_id}/evaluations
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| evaluator_id | 是 | String | 参数解释: 评估器的唯一标识符,用于指定本次评估使用的评估器。 通过1.1-创建评估器 - CreateOpsEvaluator获取。 约束限制: 字符串类型,长度1到36字符,评估器必须已存在。 取值范围: 符合通用唯一识别码(UUID)标准的字符串。 默认取值: 不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| evaluator_version | 否 | String | 参数解释: 评估器的版本号,用于指定使用评估器的特定版本。 约束限制: 字符串类型,最大长度36。不传时使用评估器的最新版本。 取值范围: 系统内有效的评估器版本号。 默认取值: 评估器最新版本。 |
| data | 是 | FineGrainedEvaluationData object | 参数解释: 待评估的数据,根据scenario字段的不同,需要传入不同的数据结构。 约束限制: 需符合FineGrainedEvaluationData定义。 取值范围: 不涉及。 默认取值: 不涉及。 |
| stream | 否 | Boolean | 参数解释: 是否启用流式返回。启用后,评估结果通过SSE(Server-Sent Events)协议逐步推送,调用方可实时获取评估进度和结果。 约束限制: 不涉及。 取值范围: true(流式返回)、false(非流式返回,等待全部评估完成后一次性返回JSON结果)。 默认取值: true。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| items | 否 | Array of FineGrainedEvaluationDatasetItem objects | 参数解释: 待评估的数据条目列表,scenario=dataset和scenario=agent时必填。每条数据为键值对列表,字段名和字段数量由评估器Prompt模板决定。
约束限制: 数组长度1到100。 取值范围: 不涉及。 默认取值: 不涉及。 |
| evaluation_object_config | 否 | 参数解释: 评估对象(智能体)配置,scenario=agent或scenario=trace时必填。 约束限制: 需符合FineGrainedEvaluationObjectConfig定义。 取值范围: 不涉及。 默认取值: 不涉及。 | |
| agent_output_variable | 否 | String | 参数解释: 评估器中接收智能体输出的变量名,scenario=agent时使用。API调用智能体获取输出后,将输出填入该变量名对应的字段中。若不传,默认为actual_output。 约束限制: 字符长度1到100。 取值范围: 评估器Prompt模板中定义的变量名。 默认取值: actual_output。 |
| trace_ids | 否 | Array of strings | 参数解释: 待评估的TraceId列表,API将根据TraceId从可观测子服务获取对应的trace数据后进行评估,scenario=trace时必填。 约束限制: 数组长度1到100,每个元素字符长度1到100。TraceId必须在可观测子服务中存在,否则返回TRACE_NOT_FOUND错误。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| [数组元素] | 否 | Array of FineGrainedEvalFieldKV objects | 参数解释: 待评估的单条数据,以键值对列表形式传入,字段名和字段数量由评估器的Prompt模板中引用的变量决定。评估器Prompt中使用{{key}}引用对应字段的value。
约束限制: 不允许为空数组,同一item内key不允许重复。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| key | 是 | String | 参数解释: 字段名,与评估器Prompt模板中的变量名对应。 约束限制: 字符长度1到100,同一item内不允许重复。 取值范围: 不涉及。 默认取值: 不涉及。 |
| value | 是 | String | 参数解释: 字段值。 约束限制: 字符长度0到10000。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| id | 是 | String | 参数解释: 评估对象的唯一标识符。 约束限制: 字符长度1到36。 取值范围: 符合通用唯一识别码(UUID)标准的字符串。 默认取值: 不涉及。 |
| type | 是 | String | 参数解释: 评估对象的类型。 约束限制: 必须为枚举值之一。 取值范围: WORKFLOW, AGENT, MULTI_AGENT。 默认取值: 不涉及。 |
| name | 是 | String | 参数解释: 评估对象的名称。 约束限制: 字符长度1到100。 取值范围: 不涉及。 默认取值: 不涉及。 |
| version | 是 | String | 参数解释: 评估对象的版本号。 约束限制: 字符长度1到100。 取值范围: 不涉及。 默认取值: 不涉及。 |
| inputs_mapping | 否 | inputs_mapping object | 参数解释: 输入数据来源映射定义,scenario=agent时必填。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| input | 否 | String | 参数解释: 智能体执行时的输入参数来源字段。 约束限制: 字符长度1到100。 取值范围: 不涉及。 默认取值: 不涉及。 |
| workflow_input | 否 | workflow_input object | 参数解释: 工作流输入参数来源配置。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
响应参数
状态码:200
评估请求成功。当stream为true时,返回SSE流式事件;为false时,返回完整JSON结果。
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 系统定义的标准化错误代码。 取值范围: 业务异常编码字符串。 |
| error_msg | String | 参数解释: 对错误的详细描述,包含异常原因或解决建议。 约束限制: 字符串类型,最小长度为2,最大长度为512。 取值范围: 字符长度2-512,任意文本内容。 |
状态码:404
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 系统定义的标准化错误代码。 取值范围: 业务异常编码字符串。 |
| error_msg | String | 参数解释: 对错误的详细描述,包含异常原因或解决建议。 约束限制: 字符串类型,最小长度为2,最大长度为512。 取值范围: 字符长度2-512,任意文本内容。 |
状态码:429
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 系统定义的标准化错误代码。 取值范围: 业务异常编码字符串。 |
| error_msg | String | 参数解释: 对错误的详细描述,包含异常原因或解决建议。 约束限制: 字符串类型,最小长度为2,最大长度为512。 取值范围: 字符长度2-512,任意文本内容。 |
状态码:500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 系统定义的标准化错误代码。 取值范围: 业务异常编码字符串。 |
| error_msg | String | 参数解释: 对错误的详细描述,包含异常原因或解决建议。 约束限制: 字符串类型,最小长度为2,最大长度为512。 取值范围: 字符长度2-512,任意文本内容。 |
请求示例
-
使用已有评估器对评测集中的输入输出数据进行细粒度评估(场景1:dataset)
POST https://*.com/agentarts/v1/ops/evaluators/7ebc91e2-2380-4072-a503-6b20888abb08/evaluations?scenario=dataset { "evaluator_version" : "1.0.0", "data" : { "items" : [ [ { "key" : "input", "value" : "请介绍一下量子计算的基本原理" }, { "key" : "actual_output", "value" : "量子计算是利用量子力学原理进行计算的技术..." }, { "key" : "expected_output", "value" : "量子计算利用量子比特的叠加和纠缠特性..." } ], [ { "key" : "input", "value" : "什么是机器学习?" }, { "key" : "actual_output", "value" : "机器学习是人工智能的一个分支..." } ] ] }, "stream" : true } -
使用已有评估器对智能体输出进行评估,API内部调用智能体获取输出后评估(场景2:agent)
POST https://*.com/agentarts/v1/ops/evaluators/7ebc91e2-2380-4072-a503-6b20888abb08/evaluations?scenario=agent { "evaluator_version" : "1.0.0", "data" : { "evaluation_object_config" : { "id" : "5d61ce56-ae88-4dbd-85e7-07a6b1f38b46", "type" : "AGENT", "name" : "my-agent", "version" : "1772677877865", "inputs_mapping" : { "input" : "instruction" } }, "agent_output_variable" : "actual_output", "items" : [ [ { "key" : "input", "value" : "请帮我分析一下这段代码的时间复杂度" } ], [ { "key" : "input", "value" : "写一个快速排序算法" } ] ] }, "stream" : true } -
使用已有评估器对智能体运行产生的trace进行评估,API从可观测子服务获取trace数据后评估(场景3:trace)
POST https://*.com/agentarts/v1/ops/evaluators/7ebc91e2-2380-4072-a503-6b20888abb08/evaluations?scenario=trace { "evaluator_version" : "1.0.0", "data" : { "trace_ids" : [ "trace-a64cd819-6f91-4568-9f2f-57ef9562ab7b", "trace-b73de920-7a02-5679-0a3g-68fg0463bc8c" ] }, "stream" : true }
响应示例
状态码:200
评估请求成功。当stream为true时,返回SSE流式事件;为false时,返回完整JSON结果。
{
"data" : {
"items" : [ {
"index" : 0,
"item_id" : "item_0",
"status_code" : "0",
"score" : 0.85,
"reason" : "回答准确,逻辑清晰"
}, {
"index" : 1,
"item_id" : "item_1",
"status_code" : "0",
"score" : 0.78,
"reason" : "回答基本正确,但存在遗漏"
} ]
}
} 状态码:400
请求错误
{
"error_code" : "AgentArts.100004000",
"error_msg" : "请求错误"
} 状态码:404
资源不存在
{
"error_code" : "AgentArts.100004040",
"error_msg" : "评估器不存在"
} 状态码:429
请求过于频繁
{
"error_code" : "AgentArts.100004290",
"error_msg" : "并发评估请求超过限制"
} 状态码:500
评估内部错误
{
"error_code" : "AgentArts.100005000",
"error_msg" : "评估内部错误"
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 评估请求成功。当stream为true时,返回SSE流式事件;为false时,返回完整JSON结果。 |
| 400 | 请求错误 |
| 404 | 资源不存在 |
| 429 | 请求过于频繁 |
| 500 | 评估内部错误 |
错误码
请参见错误码。