在开发私有chatGPT的时候,如果我们使用官方的基础模型,那么回答的问题可能不符合我们自己的预设答案

现在就是通过官方的训练方法,提供一部分数据进去,训练出自己的私有模型

 

按照工具

pip install --upgrade openai

开发自己私有chatGPT(六)训练自己的chatGPT openai模型,微调模型,列出微调任务,使用自定义模型教程_数据

 

 

 设置环境变量

export OPENAI_API_KEY="自己的key"

准备本地数据

{"prompt": "你是谁", "completion": "我是唯一客服小助手"}
{"prompt": "你会做什么", "completion": "我能帮你解答使用唯一客服时的问题"}

格式化数据

openai tools fine_tunes.prepare_data -f /tmp/json.txt

如果报错

开发自己私有chatGPT(六)训练自己的chatGPT openai模型,微调模型,列出微调任务,使用自定义模型教程_数据_02

 

 

 

执行

pip install pandas

然后继续执行,他会给出一些格式化的建议

 

 

 翻译一下

开发自己私有chatGPT(六)训练自己的chatGPT openai模型,微调模型,列出微调任务,使用自定义模型教程_在线客服_03

 

 

正在分析。。。

-根据您的文件扩展名,您提供了一个文本文件
-您的文件包含3个提示完成对。一般来说,我们建议至少有几百个例子。我们发现,示例数量每增加一倍,性能就会线性增加
-“completion”列/键不应包含空字符串。这些是行:[2]
-所有完成都以前缀“{”prompt“:”开头你`. 大多数情况下,您应该只将输出数据添加到完成中,而不添加任何前缀
-完成应该以空白字符(``)开头。由于我们使用的标记化,这往往会产生更好的结果。看见https://beta.openai.com/docs/guides/fine-tuning/preparing-your-dataset有关详细信息

根据分析,我们将采取以下措施:
-[必要]您的格式“TXT”将转换为“JSONL”`
-[必要]删除1行空白完成符
-[推荐]删除前缀“{”prompt“:”你` 来自所有完成[Y/n]:
-[推荐]在完成开头添加空白字符[Y/n]:

您的数据将写入新的JSONL文件。继续[Y/n]:

将修改后的文件写入`/tmp/json_prepared.jsonl`
随便看一看!
现在在微调时使用该文件:
>openai api fine_tunes.create-t“/tmp/jsonprepared.jsonl”
确保包含`stop=[“”}“]`,以便生成的文本在预期位置结束。
一旦你的模型开始训练,训练一个“curie”模型大约需要2.47分钟,而“ada”和“babbage”则需要更少的时间。在您之前,每个作业排队大约需要半小时。

 

创建一个微调模型

基于达芬奇模型,创建一个自己的模型

openai api fine_tunes.create -t 数据文件路径 -m 基础模型

开发自己私有chatGPT(六)训练自己的chatGPT openai模型,微调模型,列出微调任务,使用自定义模型教程_在线客服_04

 

 

 

 

 这个时候会让等几分钟或者几个小时哦

列出所有微调任务的列表

openai api fine_tunes.list

开发自己私有chatGPT(六)训练自己的chatGPT openai模型,微调模型,列出微调任务,使用自定义模型教程_数据_05

 

 

 查看微调任务的状态,ID就是上面列表的ID,可以看到正在运行中

openai api fine_tunes.get -i 任务ID

开发自己私有chatGPT(六)训练自己的chatGPT openai模型,微调模型,列出微调任务,使用自定义模型教程_在线客服_06

 

 

 当任务完成以后,fine_tuned_model 字敦会有模型名称

后面就可以使用这个模型了,可以看到模型名称

开发自己私有chatGPT(六)训练自己的chatGPT openai模型,微调模型,列出微调任务,使用自定义模型教程_chatGPT_07

 

 

 使用模型

openai api completions.create -m  模型名称  -p 提示

 

十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》

一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。


开源地址:唯一客服(开源学习版)