SuperAPI AI 工具集

judge

数据与分析

查看项目

更新于 10-22 20:09

技能介绍

judge 是 iii-hq/workers 提供的评估类 worker,用途是用结构化问题对给定的 JSON 状态做判定、分类或分级打分。

用途 judge::evaluate 对调用方提供的 state 执行一批混合题型评估,适合工单分诊、内容分类、风险分级等需要模型给出结构化结论的场合。

主要能力 支持三类问题原语:

  • noul:二值判断,可选提供 true 和/或 false 的描述,答复为 [0, 1] 区间的 noul 值。
  • choice:1–255 个命名选项,答复包含 choice、概率和 confidence,概率以选项 ID 为键。
  • score:2–10 个有序且非空的等级,答复包含 [0, 等级数-1] 的 score、概率和 confidence,概率与图例使用从 0 开始的索引字符串。

每次调用可提交 1–512 个评估,每个评估需要唯一且非空的 ID、JSON 状态,以及由不同问题 ID 组成的非空映射。instructions 与描述字段可为字符串、对象、数组或 null;Score 的等级不能为 null。每个调用需提供正的 timeout_ms,且不得超过运营方的 max_timeout_ms(默认 300000);排队任务需额外设置绝对 Unix 毫秒截止时间 expires_at_unix_ms。省略 model 时使用 worker 默认模型。options.attempt_timeout_ms 限定单次网络尝试时长,重试次数由提供方固定策略决定。

调用方式 先用 iii trigger engine::functions::info --json '{"function_id":"judge::evaluate"}' 读取注册契约,再通过 iii trigger judge::evaluate --json '{...}' 以位置参数函数名加 --json 方式调用,并在读取结果前先检查 status。成功时返回实际使用的模型、全部结果和统计信息;失败时返回 status: "error"、code、可选 http_status、经过脱敏和长度限制的 provider_error、retry_after_ms 与 stats,且不返回部分答案。统计中 usage 计数可各自为空,任一计数未知时 stats.usage_complete 为 false。

提供方与凭据 每个调用转发给 judge-<provider>。默认提供方在控制台 Settings → Workers → judge 中配置(由 JUDGE_PROVIDER 初始化,默认 typesafe),也可在请求顶层用 provider 字段指定。凭据与默认模型随提供方:TypeSafe 需在 judge-typesafe 条目中配置 api_key,或为该 worker 进程提供 TYPESAFE_API_KEY。请求本身不携带密钥、提供方 URL 或额外请求头。

取消 发起评估时设置顶层 request_id(不超过 128 个可打印 ASCII 字符,在调用方活动调用中唯一),然后在同一调用方连接上调用 judge::cancel 并传入 {"request_id":"..."}。归属由引擎的 _caller_worker_id 判断,独立 CLI 调用可能得到不同 ID。返回 cancelled: true 只表示取消信号被接受,不代表提供方已回滚,仍需等待原调用返回 code: "cancelled";不存在、已结束或属于其他调用方的 ID 返回 cancelled: false。

提及解析 judge::mentions::resolve 接受 { "text": "…@kanban(id="KAN-12")…" } 或 { "mentions": [{ "name": "kanban", "id": "KAN-12" }] },通过各提供方解析 worker 定义的 @<name>(id="…") 提及,返回每项状态(resolved、not_found、unknown_provider、error)、一行摘要以及取回完整条目的 details 调用。judge 的 harness 钩子已会自动解析用户写入的提及,该能力主要用于验证新提供方或在 harness 之外的界面使用。

限制 评估必须满足数量、ID 唯一性、超时上限等约束;score 的 null 等级无效;未注册提供方返回 provider_unavailable;请求不携带凭据或额外头信息。具体截止时间、重试、许可与字节上限见 limits and compatibility 文档。