前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >按照工具

按照工具

作者头像
唯一Chat
发布2023-02-23 10:16:50
4100
发布2023-02-23 10:16:50
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地

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

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

按照工具

代码语言:javascript
复制
pip install --upgrade openai

 设置环境变量

代码语言:javascript
复制
export OPENAI_API_KEY="自己的key"

准备本地数据

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

格式化数据

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

如果报错

执行

pip install pandas

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

 翻译一下

代码语言:javascript
复制
正在分析。。。

-根据您的文件扩展名,您提供了一个文本文件
-您的文件包含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”则需要更少的时间。在您之前,每个作业排队大约需要半小时。

创建一个微调模型

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

代码语言:javascript
复制
openai api fine_tunes.create -t 数据文件路径 -m 基础模型

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

列出所有微调任务的列表

代码语言:javascript
复制
openai api fine_tunes.list

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

代码语言:javascript
复制
openai api fine_tunes.get -i 任务ID

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

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

 使用模型

代码语言:javascript
复制
openai api completions.create -m  模型名称  -p 提示
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-02-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 按照工具
  • 创建一个微调模型
  •  使用模型
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档