细粒度评估 -j9九游会登录
功能介绍
该接口提供细粒度评估能力,基于评估器维度,无需预先创建评测集和评估任务,只需指定评估器并传入待评估数据即可完成评估,评估结果通过流式(sse)或非流式方式返回。
适用场景:
-
场景1(dataset):对已有的输入输出数据进行评估评分。
-
场景2(agent):传入输入调用智能体获取输出后进行评估。
-
场景3(trace):传入traceid,从可观测子服务获取trace数据后进行评估。
与现有评估任务流程的区别:
-
无需创建评测集,数据直接在请求中传入。
-
无需创建评估任务,即发即评。
-
评估结果默认不持久化,仅在响应中返回。
-
支持sse流式返回,评估过程中实时推送结果。
调用方法
请参见如何调用api。
授权信息
账号根用户具备所有api的调用权限,如果使用账号下的iam用户调用当前api,该iam用户需具备如下身份策略权限,更多的权限说明请参见。
| 授权项 | 访问级别 | 资源类型(*为必须) | 条件键 | 别名 | 依赖的授权项 |
|---|---|---|---|---|---|
| agentarts:evaluator:invokeopsfinegrainedevaluation | write | evaluator * | g:resourcetag/ | - | - |
uri
post /v1/ops/evaluators/{evaluator_id}/evaluations
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| evaluator_id | 是 | string | 参数解释: 评估器的唯一标识符,用于指定本次评估使用的评估器。 约束限制: 字符串类型,长度1到36字符,评估器必须已存在。 取值范围: 符合通用唯一识别码(uuid)标准的字符串。 默认取值: 不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| scenario | 是 | string | 参数解释: 评估场景,指定本次评估的数据来源和处理方式。 约束限制: 必须为枚举值之一。 取值范围:
默认取值: 不涉及。 |
| evaluator_version | 是 | string | 参数解释: 评估器的版本号,用于指定使用评估器的特定版本。 约束限制: 字符串类型,最大长度36。 取值范围: 系统内有效的评估器版本号。 默认取值: 评估器最新版本。 |
| data | 是 | opsfinegrainedevaluationdata object | 参数解释: 待评估的数据,根据评估场景(scenario)的不同,需要传入不同的字段组合。
约束限制: 数据条目数最大支持100条。scenario=dataset时需传入items字段;scenario=agent时需传入evaluation_object_config和items字段;scenario=trace时需传入trace_ids字段。 取值范围: 不涉及。 默认取值: 不涉及。 |
| stream | 否 | boolean | 参数解释: 是否启用流式返回。启用后,评估结果通过sse(server-sent events)协议逐步推送,调用方可实时获取评估进度和结果。 约束限制: 不涉及。 取值范围: true(流式返回)、false(非流式返回,等待全部评估完成后一次性返回json结果)。 默认取值: true。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| items | 否 | array of opsfinegrainedevaluationdatasetitem objects | 参数解释: 待评估的数据条目列表,scenario=dataset和scenario=agent时必填。每条数据为键值对列表,字段名和字段数量由评估器prompt模板决定。
约束限制: 数组长度1到100。 取值范围: 不涉及。 默认取值: 不涉及。 |
| evaluation_object_config | 否 | 参数解释: 评估对象(智能体/工作流)的配置信息,用于场景2(agent)和场景3(trace)中指定被评估的智能体。 约束限制: id、type、name、version为必填项。 取值范围: 不涉及。 默认取值: 不涉及。 | |
| 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 opsfinegrainedevalfieldkv 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 | 否 | 参数解释: 输入数据来源映射定义,scenario=agent时必填。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| input | 否 | string | 参数解释: 智能体执行时的输入参数来源字段。 约束限制: 字符长度1到100。 取值范围: 不涉及。 默认取值: 不涉及。 |
| workflow_input | 否 | opsfinegrainedevaluationobjectconfiginputsmappingworkflowinput object | 参数解释: 工作流输入参数来源配置。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| query | 否 | string | 参数解释: 工作流执行时的参数来源。 约束限制: 字符长度1到100。 取值范围: 不涉及。 默认取值: 不涉及。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| data | one of: | 参数解释: 细粒度评估结果。data字段根据stream参数的不同,返回不同的结构:
约束限制: data字段两种结构二选一,不会同时出现。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| items | array of opsfinegrainedevaluationitemresult objects | 参数解释: 各条评估结果的详细列表。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| index | integer | 参数解释: 数据条目的索引,从0开始。 取值范围: 不涉及。 |
| item_id | string | 参数解释: 数据条目的标识。scenario=dataset和scenario=agent时为item_n格式,scenario=trace时为对应的trace_id。 取值范围: 不涉及。 |
| status_code | string | 参数解释: 单条数据评估执行的状态码。"0"表示评估成功,非"0"表示评估过程中出现异常。 取值范围: "0"(评估成功)、非"0"(评估异常,如"1"等)。 |
| error | string | 参数解释: 评估过程中产生的错误详细信息。仅在status_code非"0"时出现。 取值范围: 描述性错误字符串。 |
| score | float | 参数解释: 评估评分,取值范围0到1。 取值范围: 0 - 1。 |
| reason | string | 参数解释: 评估原因说明。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| index | integer | 参数解释: 当前数据条目的索引,从0开始。 取值范围: 不涉及。 |
| total | integer | 参数解释: 总数据条目数。 取值范围: 不涉及。 |
| item_id | string | 参数解释: 数据条目的标识,用于关联评估结果。scenario=dataset和scenario=agent时为item_n格式,scenario=trace时为对应的trace_id。 取值范围: 不涉及。 |
| status_code | string | 参数解释: 单条数据评估执行的状态码。"0"表示评估成功,非"0"表示评估过程中出现异常。 约束限制: 不涉及。 取值范围: "0"(评估成功)、非"0"(评估异常,如"1"等)。 默认取值: 不涉及。 |
| error | string | 参数解释: 评估过程中产生的错误详细信息。仅在status_code非"0"时出现。 约束限制: 不涉及。 取值范围: 描述性错误字符串。 默认取值: 不涉及。 |
| score | float | 参数解释: 评估评分,取值范围0到1。 取值范围: 0 - 1。 |
| reason | string | 参数解释: 评估原因说明。 取值范围: 不涉及。 |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | string | 参数解释: 系统定义的标准化错误代码。 取值范围: 业务异常编码字符串。 |
| error_msg | string | 参数解释: 对错误的详细描述,包含异常原因或解决建议。 约束限制: 字符串类型,最小长度为2,最大长度为512。 取值范围: 字符长度2-512,任意文本内容。 |
状态码:403
| 参数 | 参数类型 | 描述 |
|---|---|---|
| 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://api.example.com/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://api.example.com/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://api.example.com/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流式事件,响应体为opsfinegrainedevaluationsseevent结构。
-
stream=false时,返回完整json结果,响应体为opsfinegrainedevaluationresult结构。
{
"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" : "请求错误"
} 状态码:403
鉴权失败
{
"error_code" : "agentarts.100004030",
"error_msg" : "鉴权失败"
} 状态码:404
资源不存在
{
"error_code" : "agentarts.100004040",
"error_msg" : "评估器不存在"
} 状态码:429
请求过于频繁
{
"error_code" : "agentarts.100004290",
"error_msg" : "并发评估请求超过限制"
} 状态码:500
评估内部错误
{
"error_code" : "agentarts.100005000",
"error_msg" : "评估内部错误"
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 评估请求成功。
|
| 400 | 请求错误 |
| 403 | 鉴权失败 |
| 404 | 资源不存在 |
| 429 | 请求过于频繁 |
| 500 | 评估内部错误 |
错误码
请参见错误码。
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨