|
559 | 559 | "\n", |
560 | 560 | " def create_openai_file(self):\n", |
561 | 561 | " self.file_object = client.files.create(\n", |
562 | | - " file=open(self.training_file_path, \"r\"),\n", |
| 562 | + " file=open(self.training_file_path, \"rb\"),\n", |
563 | 563 | " purpose=\"fine-tune\",\n", |
564 | 564 | " )\n", |
565 | 565 | "\n", |
|
571 | 571 | "\n", |
572 | 572 | " def create_fine_tuning_job(self):\n", |
573 | 573 | " self.fine_tuning_job = client.fine_tuning.jobs.create(\n", |
574 | | - " training_file=self.file_object[\"id\"],\n", |
| 574 | + " training_file=self.file_object.id,\n", |
575 | 575 | " model=self.model_name,\n", |
576 | 576 | " suffix=self.suffix,\n", |
577 | 577 | " )\n", |
578 | 578 | "\n", |
579 | 579 | " def wait_for_fine_tuning(self, sleep_time=45):\n", |
580 | | - " while self.fine_tuning_job.status != 'succeeded':\n", |
| 580 | + " while True:\n", |
| 581 | + " # Retrieve the latest fine-tuning job status\n", |
| 582 | + " self.fine_tuning_job = client.fine_tuning.jobs.retrieve(self.fine_tuning_job.id)\n", |
| 583 | + " print(\"Job Status:\", self.fine_tuning_job.status)\n", |
| 584 | + " if self.fine_tuning_job.status in {'succeeded', 'failed', 'cancelled'}:\n", |
| 585 | + " break\n", |
581 | 586 | " time.sleep(sleep_time)\n", |
582 | | - " self.fine_tuning_job.refresh()\n", |
583 | | - " print(\"Job Status: \", self.fine_tuning_job.status)\n", |
584 | 587 | "\n", |
585 | 588 | " def retrieve_fine_tuned_model(self):\n", |
586 | | - " self.model_id = client.fine_tuning.jobs.retrieve(self.fine_tuning_job[\"id\"]).fine_tuned_model\n", |
| 589 | + " self.model_id = client.fine_tuning.jobs.retrieve(self.fine_tuning_job.id).fine_tuned_model\n", |
587 | 590 | " return self.model_id\n", |
588 | 591 | "\n", |
589 | 592 | " def fine_tune_model(self):\n", |
|
0 commit comments