|
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