Skip to content

Commit 34518c4

Browse files
committed
add hyperparameters arg to fine_tuning.jobs.create
1 parent d0963dc commit 34518c4

File tree

1 file changed

+11
-1
lines changed
  • src/openai/cli/_api/fine_tuning

1 file changed

+11
-1
lines changed

src/openai/cli/_api/fine_tuning/jobs.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from __future__ import annotations
22

3+
import json
34
from typing import TYPE_CHECKING
45
from argparse import ArgumentParser
56

@@ -30,6 +31,12 @@ def register(subparser: _SubParsersAction[ArgumentParser]) -> None:
3031
help="The training file to fine-tune the model on.",
3132
required=True,
3233
)
34+
sub.add_argument(
35+
"-H",
36+
"--hyperparameters",
37+
help="JSON string of hyperparameters to use for fine-tuning.",
38+
type=str,
39+
)
3340
sub.add_argument(
3441
"-s",
3542
"--suffix",
@@ -106,6 +113,7 @@ def register(subparser: _SubParsersAction[ArgumentParser]) -> None:
106113
class CLIFineTuningJobsCreateArgs(BaseModel):
107114
model: str
108115
training_file: str
116+
hyperparameters: NotGivenOr[str] = NOT_GIVEN
109117
suffix: NotGivenOr[str] = NOT_GIVEN
110118
validation_file: NotGivenOr[str] = NOT_GIVEN
111119

@@ -128,14 +136,16 @@ class CLIFineTuningJobsListEventsArgs(BaseModel):
128136
class CLIFineTuningJobs:
129137
@staticmethod
130138
def create(args: CLIFineTuningJobsCreateArgs) -> None:
139+
hyperparameters = json.loads(args.hyperparameters) if args.hyperparameters is not NOT_GIVEN else NOT_GIVEN
131140
fine_tuning_job: FineTuningJob = get_client().fine_tuning.jobs.create(
132141
model=args.model,
133142
training_file=args.training_file,
143+
hyperparameters=hyperparameters,
134144
suffix=args.suffix,
135145
validation_file=args.validation_file,
136146
)
137147
print_model(fine_tuning_job)
138-
148+
139149
@staticmethod
140150
def retrieve(args: CLIFineTuningJobsRetrieveArgs) -> None:
141151
fine_tuning_job: FineTuningJob = get_client().fine_tuning.jobs.retrieve(

0 commit comments

Comments
 (0)