一、准备数据(本人准备的是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].text
print('result:', result)
question_txt.write(str(prompt_input) + 'n')
answer_txt.write(str(result) + 'n')
question_txt.close()
answer_txt.close()
# return result
if __name__ == '__main__':
model_name = ''
while True:
prompt_input = input('请输入您的问题:')
Chatgpt(model_name, prompt_input)
四、结束 4.1、因在3.2日更新之后,目前api不能调用,无法连接,就没有截训练的截图(此前已训练多个模型,且可以正常使用,完全没问题)
4.2、后续各位需要封装的类的话,滴滴我
323AI导航网发布
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...