FTUP
1.0.0
สคริปต์นี้ช่วยให้กระบวนการเตรียมข้อมูลสำหรับการปรับแต่งในรุ่น OpenAI โดยอัตโนมัติโดยเฉพาะ GPT-3.5 และ BABBAGE นอกจากนี้ยังมียูทิลิตี้เพื่อตรวจสอบข้อมูลแปลงข้อมูลเป็นรูปแบบ JSONL ที่ต้องการและประเมินค่าใช้จ่ายของกระบวนการ finetuning
pyfiglet , openai , tiktoken , dotenv , argparse , json , re , os , sys , time , clintในการติดตั้งไลบรารีที่ต้องการ:
pip install pyfiglet openai tiktoken python-dotenv argparse clintหรือ
pip install requirements.txt python ftup.py [-k <API_KEY>] -m <MODEL_NAME> -f <INPUT_FILE> [-s <SUFFIX>] [-e <EPOCHS>]
ข้อโต้แย้ง:
-k, --key : ไม่บังคับ คีย์ API อาร์กิวเมนต์เสริม แต่จำเป็นต้องใช้ใน Env เริ่มต้นเพื่อให้มีคีย์ API ในสภาพแวดล้อม openai_api_key-m, --model : จำเป็น รุ่นที่จะใช้ ตัวเลือก: gpt สำหรับ gpt-3.5-turbo-0613 หรือ bab สำหรับ babbage-002-f, --file : จำเป็น ไฟล์ข้อมูลอินพุต (รูปแบบ JSONL)-s, --suffix : เป็นทางเลือก เพิ่มคำต่อท้ายสำหรับรุ่น finetuned ของคุณ เช่น 'My-Suffix-Title-V-1'-e, --epoch : เป็นทางเลือก จำนวนยุคสำหรับการฝึกอบรม ค่าเริ่มต้นคือ 3 จัดเก็บคีย์ API ของคุณในไฟล์ .env ในรูปแบบ:
OPENAI_API_KEY=your_api_key_here
สคริปต์จะโหลดโดยค่าเริ่มต้นคีย์นี้หากไม่ใช่ -k / --key ผ่านเป็นอาร์กิวเมนต์
check_key(key) : ตรวจสอบรูปแบบสำหรับคีย์ OpenAI APIcheck_model(model) : ตรวจสอบชื่อรุ่นcheck_jsonl_file(file) : ตรวจสอบว่าไฟล์ที่ให้ไว้มีชื่อ JSONL ที่ถูกต้องและมีอยู่หรือไม่create_update_jsonl_file(model, file) : ตรวจสอบว่า jsonl มีรูปแบบที่ถูกต้องและอัปโหลดไฟล์ไปยัง OpenAI หรือไม่update_ft_job(file_id_name, model, suffix, epoch) : สร้างหรืออัปเดตงาน finetuning บน openaicheck_jsonl_gpt35(file) : ตรวจสอบรูปแบบสำหรับการฝึกอบรม GPT-3.5check_jsonl_babbage(file) : ตรวจสอบรูปแบบสำหรับการฝึกอบรม BABBAGE-002cost_gpt(file, epochs) : ประมาณค่าใช้จ่ายของกระบวนการ finetuning $ python ftup.py --key your_api_key_here --file train_gpt3_5.jsonl --model gpt --epoch 1 --suffix custom-model-name
or
$ python ftup.py -f train_gpt3_5.jsonl -m gpt -e 1 -s custom-model-name
____________ __ ______
/ ____/_ __/ / / / / __
/ /_ / / ______ / / / / /_/ /
/ __/ / / /_____/ / /_/ / ____/
/_/ /_/ ____/_/
Checking API key ...
- API Key
Checking model ...
- Model gpt
Checking if jsonl is valid ...
- JSON File train_gpt3_5.jsonl
Checking if jsonl format is valid for GPT-3.5 training ...
- Num examples: 225
- JSONL train_gpt3_5.jsonl correct format
Uploading jsonl train file ...
- File ID: file-abcd123
Dataset has ~15153 tokens that will be charged for during training
You'll train for 1 epochs on this dataset
By default, you'll be charged for ~15153 tokens
Total cost: $0.1212 ?
Creating a finetuning job ...
- Fintetuning job id: ftjob-abc123
Status: succeeded
Finetuning succeeded! ☑️
Finetune model: ft:gpt-3.5-turbo:openai:custom-model-name:7p4lURe