FTUP
1.0.0
该脚本有助于自动化为OpenAI模型(特别是GPT-3.5和Babbage)进行填充数据的数据的过程。它还提供了实用程序来验证数据,将数据转换为所需的JSONL格式,并估算列出过程的成本。
pyfiglet , openai , tiktoken , dotenv , argparse , json , re , os ,SYS, 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键。可选的参数,但在默认设备中需要具有环境中的API键。 OpenAI_API_KEY-m, --model :必需。要使用的型号。选择: gpt gpt-3.5-turbo-0613或bab for babbage-002 。-f, --file :必需。输入数据文件(JSONL格式)。-s, --suffix :可选。为您的固定型号添加后缀。例如,“ my-suffix-title-v-1”。-e, --epoch :可选。训练时期的数量。默认值为3。 将您的API密钥存储在.env文件中的格式:
OPENAI_API_KEY=your_api_key_here
默认情况下,脚本将加载此密钥,如果不是-k / --key作为参数传递。
check_key(key) :验证OpenAI API键的格式。check_model(model) :验证模型名称。check_jsonl_file(file) :检查提供的文件是否具有有效的JSONL名称以及是否存在。create_update_jsonl_file(model, file) :检查JSONL是否具有正确的格式并将文件上传到OpenAI。update_ft_job(file_id_name, model, suffix, epoch) :在OpenAI上创建或更新Finetuning作业。check_jsonl_gpt35(file) :验证GPT-3.5培训的格式。check_jsonl_babbage(file) :验证Babbage-002培训的格式。cost_gpt(file, epochs) :估计填充过程的成本。 $ 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