跳转到主要内容

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 CLI 使用 TOML 配置文件来执行两种操作:运行评估和提交训练任务。所有配置文件存放在工作空间configs/ 目录下。
在以下示例中,被注释掉的字段(以 # 为前缀)是可选的。其默认值在行内标注。未注释的字段是必填项。

Eval Config

osmosis eval run 使用,用于对数据集评估 agent。
configs/eval/default.toml
[eval]
rollout = "my-rollout"                         # Rollout 名称(rollouts/ 下的目录)
entrypoint = "main.py"                         # 入口文件(相对于 rollout 目录)
dataset = "data/test.jsonl"                    # 数据集路径(相对于工作空间根目录)
# limit =                                      # 评估的最大行数
# offset = 0                                   # 跳过前 N 行
# fresh = false                                # 丢弃缓存结果
# retry_failed = false                         # 仅重新运行失败行

[llm]
model = "openai/gpt-5.2"                      # LiteLLM 模型名称(必填)
# base_url =                                   # 自定义 OpenAI 兼容端点
# api_key_env = "OPENAI_API_KEY"               # API 密钥的环境变量名

[runs]
# n = 1                                        # 每行运行次数(用于 pass@n)
# batch_size = 1                               # 并发批量大小
# pass_threshold = 1.0                         # pass@k 的分数阈值

[output]
# log_samples = false                          # 将对话保存为 JSONL
# output_path =                                # 结构化输出目录
# quiet = false                                # 抑制进度输出
# debug = false                                # 启用调试日志 + 追踪

# [baseline]
# model = "openai/gpt-5-mini"                 # 用于对比的基线模型
# base_url =                                   # 基线模型的自定义端点
# api_key_env =                                # 基线模型 API 密钥的环境变量名

字段参考

[eval] — 必填

字段类型必填默认值说明
rolloutstrrollouts/ 下的 rollout 目录名称
entrypointstr相对于 rollout 目录的 Python 入口文件
datasetstr数据集文件路径,相对于工作空间根目录
limitint所有行评估的最大行数(必须 >= 1)
offsetint0从头部跳过的行数(必须 >= 0)
freshboolfalse丢弃所有缓存结果并从头重新运行
retry_failedboolfalse仅重新运行之前失败的行

[llm] — 必填

字段类型必填默认值说明
modelstrLiteLLM 格式的模型名称(例如 openai/gpt-5.2anthropic/claude-sonnet-4-5
base_urlstr自定义 OpenAI 兼容 API 端点 URL
api_key_envstr包含 API 密钥的环境变量名(例如 OPENAI_API_KEY

[runs] — 可选

字段类型默认值约束说明
nint1>= 1每个数据集行的评估运行次数。使用大于 1 的值来计算 pass@n 指标。
batch_sizeint1>= 1并发评估请求数量
pass_thresholdfloat1.00.0 - 1.0达到或超过此分数阈值的样本被视为 pass@k 计算中的”通过”

[output] — 可选

字段类型默认值说明
log_samplesboolfalse将完整对话日志保存为 JSONL 文件,与结果一同存储
output_pathstr结构化输出文件目录。会被 -o CLI 标志覆盖。
quietboolfalse抑制进度条和中间输出
debugboolfalse启用调试级别日志和执行追踪

[baseline] — 可选

字段类型必填说明
modelstr是(如存在此节)LiteLLM 格式的基线模型,用于对比评分
base_urlstr基线模型的自定义端点
api_key_envstr基线模型 API 密钥的环境变量名
CLI 标志如 --fresh--limit--offset--quiet--debug--output-path--log-samples--batch-size 会覆盖配置文件中的对应值,因此您可以保留基础配置并在命令行中调整各次运行的参数。

Training Config

osmosis train submit 使用,用于提交训练任务。
rolloutentrypoint 指向的是平台上同步过来的仓库,不是您的本地工作区 —— 训练任务执行的是通过 Git Sync 拉取的代码。默认情况下平台使用默认分支上最新的同步 commit;设置 commit_sha 可以将一次训练固定到特定版本。
configs/training/default.toml
[experiment]
rollout = "my-rollout"                         # Rollout 名称(rollouts/ 下的目录)
entrypoint = "main.py"                         # 入口文件名
model_path = "Qwen/Qwen3.5-35B-A3B"           # 必须是受支持的模型
dataset = "my-dataset"                         # `osmosis dataset list` 中的数据集名称
# commit_sha =                                 # 锁定到特定 commit

[training]
# lr = 1e-6                                    # 学习率
# total_epochs = 1                             # 训练轮数
# n_samples_per_prompt = 8                     # 每个提示的 rollout 采样数
# global_batch_size = 64                       # 训练批量大小
# max_prompt_length = 8192                     # 最大提示 token 数
# max_response_length = 8192                   # 最大响应 token 数

[sampling]
# rollout_temperature = 1.0                    # rollout 采样温度
# rollout_top_p = 1.0                          # Top-p 采样

[checkpoints]
# eval_interval =                              # 每 N 次 rollout 运行评估
# checkpoint_save_freq = 20                    # 每 N 次 rollout 保存检查点

字段参考

[experiment] — 必填

字段类型必填说明
rolloutstrrollouts/ 下的 rollout 目录名称
entrypointstrPython 入口文件名(例如 main.py
model_pathstrHuggingFace 模型路径。必须是平台支持的模型。
datasetstrosmosis dataset list 中显示的数据集名称
commit_shastr将训练固定到同步仓库中的特定 Git commit SHA。省略时,平台使用默认分支上最新的同步 commit。适用于需要可复现性,或希望在本地继续迭代的同时用已知可用版本提交训练的场景。

[training] — 可选

字段类型默认值说明
lrfloat平台默认值优化器学习率
total_epochsint平台默认值遍历数据集的次数
n_samples_per_promptint平台默认值每个提示生成的 rollout 采样数。必须为正整数。
global_batch_sizeint平台默认值RL 训练更新的批量大小。必须能被 n_samples_per_prompt 整除。
max_prompt_lengthint平台默认值提示的最大 token 数
max_response_lengthint平台默认值模型响应的最大 token 数
global_batch_size 必须能被 n_samples_per_prompt 整除。CLI 会拒绝违反此约束的配置。

[sampling] — 可选

字段类型默认值说明
rollout_temperaturefloat平台默认值Rollout 生成时的采样温度。值越高,多样性越大。
rollout_top_pfloat平台默认值Rollout 期间的 Top-p(nucleus)采样阈值

[checkpoints] — 可选

字段类型默认值说明
eval_intervalint每 N 个 rollout 步骤运行一次评估
checkpoint_save_freqint平台默认值每 N 个 rollout 步骤保存一次 LoRA 检查点
建议从仅包含必填的 [experiment] 字段开始,让平台对训练超参数使用默认值。根据您的训练任务指标逐步调优。