@@ -215,10 +215,10 @@ type CommandModality = "text" | "audio" | "image";
215215 * output. Every modality's model consumes these.
216216 */
217217const COMMON_FLAGS = {
218- model : {
218+ baseModel : {
219219 type : "string" ,
220220 valueHint : "<model>" ,
221- description : "Base model to fine-tune" ,
221+ description : "Base model to fine-tune (e.g. qwen3-8b; not the output model name) " ,
222222 required : true ,
223223 } ,
224224 datasets : {
@@ -316,13 +316,13 @@ const IMAGE_FLAGS = {
316316} satisfies FlagsDef ;
317317
318318const TEXT_USAGE =
319- "--model <model> --datasets <id|path,...> [--validations <id|path,...>] [--model-name <name>] [--suffix <text>] [--n-epochs <n>] [--batch-size <n>] [--learning-rate <str>] [--max-length <n>] [--training-type <sft|sft-lora|dpo|dpo-lora|cpt>]" ;
319+ "--base- model <model> --datasets <id|path,...> [--validations <id|path,...>] [--model-name <name>] [--suffix <text>] [--n-epochs <n>] [--batch-size <n>] [--learning-rate <str>] [--max-length <n>] [--training-type <sft|sft-lora|dpo|dpo-lora|cpt>]" ;
320320
321321const AUDIO_USAGE =
322- "--model <model> --datasets <id|path> [--validations <id|path>] [--model-name <name>] [--suffix <text>]" ;
322+ "--base- model <model> --datasets <id|path> [--validations <id|path>] [--model-name <name>] [--suffix <text>]" ;
323323
324324const IMAGE_USAGE =
325- "--model <model> --datasets <id|path> [--validations <id|path>] [--model-name <name>] [--suffix <text>] [--generation-type <t2i|i2i>] [--learning-rate <str>]" ;
325+ "--base- model <model> --datasets <id|path> [--validations <id|path>] [--model-name <name>] [--suffix <text>] [--generation-type <t2i|i2i>] [--learning-rate <str>]" ;
326326
327327const COMMON_NOTES = [
328328 "Creating a job uploads any local datasets and consumes training quota." ,
@@ -382,7 +382,7 @@ async function runCreate<F extends FlagsDef>(
382382) : Promise < void > {
383383 const { identity, settings } = ctx ;
384384 const flags = ctx . flags as Record < string , unknown > ;
385- const model = flags . model as string ;
385+ const model = flags . baseModel as string ;
386386 const datasetsRaw = flags . datasets as string ;
387387
388388 // CosyVoice audio fine-tuning accepts exactly one training file
@@ -636,14 +636,14 @@ export const finetuneTextCreate = defineCommand({
636636 usageArgs : TEXT_USAGE ,
637637 flags : TEXT_FLAGS ,
638638 exampleArgs : [
639- "--model qwen3-8b --datasets file-xxx" ,
640- "--model qwen3-8b --datasets ./train.jsonl" ,
641- "--model qwen3-8b --datasets ./train.jsonl --validations ./eval.jsonl" ,
642- "--model qwen3-8b --datasets file-aaa,./extra.jsonl" ,
643- "--model qwen3-8b --datasets ./train.jsonl --training-type sft" ,
644- '--model qwen3-8b --datasets file-xxx --learning-rate "1.6e-5" --n-epochs 4' ,
645- "--model qwen3-8b --datasets file-xxx --output json" ,
646- "--model qwen3-8b --datasets file-xxx --dry-run" ,
639+ "--base- model qwen3-8b --datasets file-xxx" ,
640+ "--base- model qwen3-8b --datasets ./train.jsonl" ,
641+ "--base- model qwen3-8b --datasets ./train.jsonl --validations ./eval.jsonl" ,
642+ "--base- model qwen3-8b --datasets file-aaa,./extra.jsonl" ,
643+ "--base- model qwen3-8b --datasets ./train.jsonl --training-type sft" ,
644+ '--base- model qwen3-8b --datasets file-xxx --learning-rate "1.6e-5" --n-epochs 4' ,
645+ "--base- model qwen3-8b --datasets file-xxx --output json" ,
646+ "--base- model qwen3-8b --datasets file-xxx --dry-run" ,
647647 ] ,
648648 notes : TEXT_NOTES ,
649649 run : ( ctx ) => runCreate ( "text" , ctx ) ,
@@ -656,11 +656,11 @@ export const finetuneAudioCreate = defineCommand({
656656 usageArgs : AUDIO_USAGE ,
657657 flags : AUDIO_FLAGS ,
658658 exampleArgs : [
659- "--model cosyvoice-v3-flash --datasets ./audio.zip" ,
660- "--model cosyvoice-v3-flash --datasets file-xxx" ,
661- "--model cosyvoice-v3-flash --datasets ./audio.zip --model-name my-tts" ,
662- "--model cosyvoice-v3-flash --datasets file-xxx --output json" ,
663- "--model cosyvoice-v3-flash --datasets ./audio.zip --dry-run" ,
659+ "--base- model cosyvoice-v3-flash --datasets ./audio.zip" ,
660+ "--base- model cosyvoice-v3-flash --datasets file-xxx" ,
661+ "--base- model cosyvoice-v3-flash --datasets ./audio.zip --model-name my-tts" ,
662+ "--base- model cosyvoice-v3-flash --datasets file-xxx --output json" ,
663+ "--base- model cosyvoice-v3-flash --datasets ./audio.zip --dry-run" ,
664664 ] ,
665665 notes : AUDIO_NOTES ,
666666 run : ( ctx ) => runCreate ( "audio" , ctx ) ,
@@ -673,12 +673,12 @@ export const finetuneImageCreate = defineCommand({
673673 usageArgs : IMAGE_USAGE ,
674674 flags : IMAGE_FLAGS ,
675675 exampleArgs : [
676- "--model wan2.7-image-pro --datasets ./images.zip" ,
677- "--model wan2.7-image-pro --datasets file-xxx" ,
678- "--model wan2.7-image-pro --datasets file-xxx --generation-type i2i" ,
679- "--model wan2.7-image-pro --datasets ./images.zip --model-name my-wan" ,
680- "--model wan2.7-image-pro --datasets file-xxx --output json" ,
681- "--model wan2.7-image-pro --datasets ./images.zip --dry-run" ,
676+ "--base- model wan2.7-image-pro --datasets ./images.zip" ,
677+ "--base- model wan2.7-image-pro --datasets file-xxx" ,
678+ "--base- model wan2.7-image-pro --datasets file-xxx --generation-type i2i" ,
679+ "--base- model wan2.7-image-pro --datasets ./images.zip --model-name my-wan" ,
680+ "--base- model wan2.7-image-pro --datasets file-xxx --output json" ,
681+ "--base- model wan2.7-image-pro --datasets ./images.zip --dry-run" ,
682682 ] ,
683683 notes : IMAGE_NOTES ,
684684 run : ( ctx ) => runCreate ( "image" , ctx ) ,
0 commit comments