一、准备数据(本人准备的是JSONL数据)
1.1、数据格式:
{"prompt": "本篇文章的作者是谁?", "completion": "当然是咸菜萝卜头"}
{"prompt": "咸菜萝卜头是谁?", "completion": "咸菜萝卜头是本篇文章的作者"}
1.2、数据格式化:
openai tools fine_tunes.prepare_data -f filename.jsonl
格式化成功
1.3、若报错,可带着问题来评论区
二、开始训练
import os
import json
import time
import openai
from openai_api import *file_name = "dataupload/test1_prepared.jsonl" # 格式化后的数据
model_name = "shhc-ada-test"
openai.api_key = '' # 自己的key
start_train = Create_train() # 本人将chatgpt的所有方法封装成的类upload_status = start_train.Chatgpt_file(file_name) # 上传自己的训练数据
print("当前上传状态:", upload_status)time.sleep(15)# 获取上传文件id
file_id = start_train.File_list()
print('上传文件id:', file_id)# 通过上传的文件id,将文件id传入训练板块,进行训练
create_train = start_train.Fineture(file_id, sufix=model_name)
print("开始训练!")# 列出训练模型的id
file_model_id = start_train.Finelist()
print("当前模型id", file_model_id)# 查看当前模型状态
fine_train = start_train.Fine_retrieve(file_model_id)
print("当前模型状态", fine_train)# 查看模型名称
fine_train_model = fine_train.fine_tuned_model
print("当前模型名称", fine_train_model)# 列出所有的训练文件
list_fine = start_train.Finelist()
print(list_fine)
等待一段时间,训练完毕
三、测试
def Chatgpt(model_name, prompt_input):answer_txt = open('Answer.txt', 'a+', encoding='utf-8')question_txt = open('Question.txt', 'a+', encoding='utf-8')print('你好,使用者!')openai.api_key = '' # 秘钥completion = openai.Completion.create(engine=model_name,prompt=str(prompt_input),max_tokens=256,temperature=0.5,top_p = 1.0,frequency_penalty = 0.5,presence_penalty = 0.5,user = 'FF')result = completion.choices[0].textprint('result:', result)question_txt.write(str(prompt_input) + '\n')answer_txt.write(str(result) + '\n')question_txt.close()answer_txt.close()# return resultif __name__ == '__main__':model_name = ''while True:prompt_input = input('请输入您的问题:')Chatgpt(model_name, prompt_input)