-
Notifications
You must be signed in to change notification settings - Fork 0
/
fine_tune.py
55 lines (42 loc) · 1.2 KB
/
fine_tune.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import os
import sys
import time
from openai import OpenAI
from utils import get_api_key
def fine_tune_full(dataset, id):
client = OpenAI(api_key=get_api_key(id))
response = client.files.create(
file=open(f"data/{dataset}_train.jsonl", "rb"),
purpose="fine-tune"
)
train_id = response.id
train_filename = response.filename
print(response)
print()
response = client.files.create(
file=open(f"data/{dataset}_validate.jsonl", "rb"),
purpose="fine-tune"
)
validate_id = response.id
validate_filename = response.filename
print(response)
print()
response = client.fine_tuning.jobs.create(
training_file=train_id,
validation_file=validate_id,
suffix=f"{dataset}-ft",
model="babbage-002"
)
print(response)
print()
# fine_tune_id = response.id
#
# a = client.fine_tuning.jobs.retrieve(fine_tune_id)
# print()
#
# status = client.fine_tuning.jobs.retrieve(fine_tune_id).status
# while status != "succeeded":
# print(f"Fine-tuning job {fine_tune_id} is currently {status}...")
# time.sleep(10)
#
# print(f"Fine-tuning job {fine_tune_id} has succeeded!")