跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.osmosis.ai/llms.txt

Use this file to discover all available pages before exploring further.

osmosis eval run 使用您自己的 LLM API key,针对本地数据集运行 AgentWorkflowGrader。它会生成包含奖励和通过率的摘要报告 —— 用来衡量 agent 行为、对比不同模型,以及在不消耗训练资源的前提下迭代工作流或评分器。
osmosis eval run 同时也可以作为 osmosis train submit 之前的 smoke test:传入 --limit N(或指向一个小数据集)只跑少量 prompt,就能在本地发现工作流或评分器的 bug。在平台分配 GPU 之前发现问题,比之后再发现要便宜得多。
osmosis eval run configs/eval/default.toml

工作原理

1

加载数据集

orchestrator 从配置文件中指定的路径加载数据集。
2

运行工作流

对数据集中的每一行,把输入列整理成 AgentWorkflowContext,然后运行 AgentWorkflow.run(ctx)
3

评分输出

样本收集完成后,使用样本和这一行的参考答案(ground_truth,在运行时作为 ctx.label 暴露)创建 GraderContext,然后运行 Grader.grade(ctx)
4

输出报告

收集所有奖励并输出包含通过率、平均分数和每行结果的摘要报告。

Eval 配置示例

完整字段参考请参阅配置文件
configs/eval/default.toml
[eval]
rollout = "my-rollout"
entrypoint = "main.py"
dataset = "data/test.jsonl"

[llm]
model = "openai/gpt-5.2"

高级功能

Eval 结果会自动缓存,重新运行时会跳过已完成的行。使用 --fresh 丢弃所有缓存结果并从头开始,或使用 --retry-failed 仅重新运行之前失败的行。
在配置中设置 [runs] n = 5pass_threshold = 0.8,可以对每个 prompt 运行多个样本并计算 pass@k 指标 — 即 k 个样本中至少有一个通过阈值的概率。
在配置中设置 [runs] batch_size = 4(或在命令行使用 --batch-size 4)可以并行评估多个 prompt,加速大规模 eval 运行。
添加 [baseline] 部分并设置 model = "openai/gpt-5-mini",可以在相同数据集上运行第二个模型并进行奖励分数的并排对比。
传入 --log-samples 可将完整的对话历史保存为 JSONL 文件,与结果并列存放,便于手动检查和调试。
orchestrator 在 eval 运行开始时会对数据集进行指纹校验,如果在评估过程中文件被修改,会发出警告。

从 Eval 到训练

eval 结果看起来健康之后,提交代码并启动训练任务:
1

提交并同步

rollouts/<name>/ 目录提交并推送到您已连接的 GitHub 仓库的默认分支。平台会通过 Git Sync 拉取新代码。
2

提交训练任务

运行 osmosis train submit configs/training/default.toml。平台基于同步过来的代码运行训练 —— 不是您本地的工作区 —— 所以推送之后您本地的任何编辑都不会影响已提交的训练任务,除非您再次提交、推送、同步并重新提交训练。如果想在继续本地迭代时使用一个已知可用的版本,可以用 commit_sha 固定到特定 commit。

下一步

配置文件

eval 和训练配置文件的完整参考。

训练任务

本地 eval 通过后,提交一次训练任务。