Skip to content

Commit 80d38f7

Browse files
aanaseerRobertCraigie
authored andcommitted
add fine_tuning.jobs.list_events
1 parent 724a8ea commit 80d38f7

File tree

1 file changed

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

1 file changed

+39
-1
lines changed

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

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from ....pagination import SyncCursorPage
1010
from ....types.fine_tuning import (
1111
FineTuningJob,
12+
FineTuningJobEvent,
1213
)
1314

1415
if TYPE_CHECKING:
@@ -55,6 +56,26 @@ def register(subparser: _SubParsersAction[ArgumentParser]) -> None:
5556
)
5657

5758
sub = subparser.add_parser("fine_tuning.jobs.list_events")
59+
sub.add_argument(
60+
"-i",
61+
"--id",
62+
help="The ID of the fine-tuning job to list events for.",
63+
required=True,
64+
)
65+
sub.add_argument(
66+
"-a",
67+
"--after",
68+
help="Identifier for the last event from the previous pagination request. If provided, only events created after this event will be returned.",
69+
)
70+
sub.add_argument(
71+
"-l",
72+
"--limit",
73+
help="Number of fine-tuning job events to retrieve.",
74+
type=int,
75+
)
76+
sub.set_defaults(
77+
func=CLIFineTuningJobs.list_events, args_model=CLIFineTuningJobsListEventsArgs
78+
)
5879

5980

6081
class CLIFineTuningJobsRetrieveArgs(BaseModel):
@@ -67,6 +88,12 @@ class CLIFineTuningJobsListArgs(BaseModel):
6788
class CLIFineTuningJobsCancelArgs(BaseModel):
6889
id: str
6990

91+
class CLIFineTuningJobsListEventsArgs(BaseModel):
92+
id: str
93+
after: NotGivenOr[str] = NOT_GIVEN
94+
limit: NotGivenOr[int] = NOT_GIVEN
95+
96+
7097
class CLIFineTuningJobs:
7198
@staticmethod
7299
def retrieve(args: CLIFineTuningJobsRetrieveArgs) -> None:
@@ -89,4 +116,15 @@ def cancel(args: CLIFineTuningJobsCancelArgs) -> None:
89116
fine_tuning_job: FineTuningJob = get_client().fine_tuning.jobs.cancel(
90117
fine_tuning_job_id=args.id
91118
)
92-
print_model(fine_tuning_job)
119+
print_model(fine_tuning_job)
120+
121+
@staticmethod
122+
def list_events(args: CLIFineTuningJobsListEventsArgs) -> None:
123+
fine_tuning_job_events: SyncCursorPage[
124+
FineTuningJobEvent
125+
] = get_client().fine_tuning.jobs.list_events(
126+
fine_tuning_job_id=args.id,
127+
after=args.after or NOT_GIVEN,
128+
limit=args.limit or NOT_GIVEN,
129+
)
130+
print_model(fine_tuning_job_events)

0 commit comments

Comments
 (0)