Skip to content

feat: unify LLM evaluation jobs under traits.eval - #58

Merged
PixelCores merged 4 commits into
mainfrom
codex/evaluation-trait
Sep 20, 2026
Merged

PixelCores merged 4 commits into
mainfrom
codex/evaluation-trait

Conversation

@PixelCores

@PixelCores PixelCores commented Sep 19, 2026 •

Copy link
Copy Markdown
Owner

变更

LLM 评测统一使用 type: job + traits.eval。独立 Job 与 Application/Workflow Job 共用规格、校验和 Harbor Runner;model 是被测对象,agent 是执行 harness,env: ack 描述执行环境。框架版本和 Runner 镜像由平台管理,不要求调用方提交 Harbor JobConfig。

  • taskPackageId、attempts、concurrency、timeoutSeconds 和 resultPolicy 位于 traits.eval;Runner 与 trial 资源分别由 traits.resources 和 sandboxResources 控制。
  • 每次执行保存有效配置、框架版本和私有 Runner capability;同一 Workflow 中多个评测按 ExecutionKey 隔离结果与访问。
  • 应用评测生成的 Job 和 Pod 保留组件的 properties.labels 与归属标签,Runner 专用标签仍由平台决定。
  • HTTP JSON、gRPC 字段、Canonical JSON Schema、文档、独立/应用示例及压测脚本均使用 eval。

迁移与风险

这是公开请求契约的严格切换:旧 traits.evaluation、type: eval、评测 spec、framework 字段及顶层 resultPolicy 不再接受。升级前应排空或取消旧评测、确认 Kubernetes Job 已停止,并导出所需历史结果。普通 command 请求不变。

gRPC 的 JobTraits.eval 和 AppSpecTraits.eval 保留原字段号 7 和 15,二进制字段号不变;ProtoJSON 名称和生成的 Go 字段改为 eval。当前仍限 Harbor 0.22.0 与已有任务包边界;应用内结果请求需要 executionKey。

验证

  • go test ./... -count=1 通过;相关包的 go vet 通过。
  • ProtoJSON 测试覆盖两种 gRPC 入口的 eval 编解码和旧键拒绝;JSON 示例及 Python 压测脚本语法检查通过。
  • grpc-gen-check 未在本机运行:缺少仓库固定的 protoc 35.0;生成描述符已通过 Go/ProtoJSON 测试。
  • 未运行真实 Kubernetes 集群或付费模型评测。

@PixelCores PixelCores changed the title feat: unify LLM evaluation jobs with evaluation traits feat: unify LLM evaluation jobs under traits.eval Sep 20, 2026
@PixelCores
PixelCores marked this pull request as ready for review September 20, 2026 02:27
@PixelCores
PixelCores merged commit 8290fb1 into main Sep 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant