微调示例
要注意,关键是base_url要设置成智增增的,如果这个不正确,其它肯定都不行。
所以一定要注意他在不同的包中base_url的设置方式,
目前已知的是:在老版本中的设置方式是:openai.api_base = BASE_URL,
而在新版本中的设置方式是:client = OpenAI(api_key=API_SECRET_KEY, base_url=BASE_URL),
别问为什么,问就是openai的锅
API_SECRET_KEY = "你的智增增获取的api_key";
BASE_URL = "https://api.zhizengzeng.com/v1"; #智增增的base_url
# files
def files():
openai.api_key = API_SECRET_KEY
openai.api_base = BASE_URL
resp = openai.File.create(
file=open("mydata.jsonl", "rb"),
purpose='fine-tune'
)
print(resp)
API_SECRET_KEY = "你的智增增获取的api_key";
BASE_URL = "https://api.zhizengzeng.com/v1"; #智增增的base_url
# jobs
def jobs(file_id):
openai.api_key = API_SECRET_KEY
openai.api_base = BASE_URL
resp = openai.FineTuningJob.create(training_file=file_id, model="gpt-3.5-turbo") #训练文件的id要从上一步获取得到
print(resp)
上一步提交完训练任务之后,模型是需要一段时间来训练的,训练的时长取决于你的数据量大小、当下训练的任务数、openai的算力是否充足等等。
API_SECRET_KEY = "你的智增增获取的api_key";
BASE_URL = "https://api.zhizengzeng.com/v1"; #智增增的base_url
# retrieve
def retrieve(ftid):
openai.api_key = API_SECRET_KEY
openai.api_base = BASE_URL
resp = openai.FineTuningJob.retrieve(ftid) #微调任务id要从上一步获取得到
print(resp)
API_SECRET_KEY = "你的智增增获取的api_key";
BASE_URL = "https://api.zhizengzeng.com/v1"; #智增增的base_url
# chat
def chat_completions(query):
openai.api_key = API_SECRET_KEY
openai.api_base = BASE_URL
resp = openai.ChatCompletion.create(
model="ft:gpt-3.5-turbo-0613xxxxxxxxxxxxxxxxxxx", # 模型名字要从上一步获取得到
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": query}
]
)
print(resp)
你就在gpt-3.5基础上训练了一个自己的模型了
修改于 2024-05-15 01:29:21