GPT-3 API笔记
2023/3/9
GPT-3 和 GPT-3.5-Turbo API的学习日志,仅作个人用途。
目录
事先准备
1 | pip install openai |
创建微调模型
注意,GPT-3.5-Turbo API 目前不支持微调!
该栏块说的 API 统一默认为 GPT-3 !
微调 GPT-3 所需要的数据必须是 JSONL
文件,格式为:
1 | {"prompt": "提白文本", "completion": "想要生成的文本"} |
假设已经有一个 CSV
、TSV
、XLSX
或 JSON
文件作为数据库,则可以使用以下命令行来重新格式化数据:
1 | openai tools fine_tunes.prepare_data -f 文件名 |
有了 JSONL
文件后,开始微调:
1 | openai api fine_tunes.create -t JSONL文件名 -m 模型名 |
模型名分为:ada、babbage、curie、davinci。
从左到右,速度越来越慢,能力越来越强。
注意:
一定要仔细查看微调模型的价格表!
模型 | 训练 | 使用 |
---|---|---|
Ada | $0.0004 / 1K tokens | $0.0016 / 1K tokens |
Babbage | $0.0006 / 1K tokens | $0.0024 / 1K tokens |
Curie | $0.0030 / 1K tokens | $0.0120 / 1K tokens |
Davinci | $0.0300 / 1K tokens | $0.1200 / 1K tokens |
有时事件流可能会被中断,使用以下命令行来恢复微调:
1 | openai api fine_tunes.follow -i 微调工作ID |
事件流被中断后会自动生成一个命令供你复制粘贴运行。
查看微调工作
列出所有被创建的微调工作:
1 | openai api fine_tunes.list |
检索一个微调工作的状态和其他信息:
1 | openai api fine_tunes.get -i 微调工作ID |
取消一个微调工作:
1 | openai api fine_tunes.cancel -i 微调工作ID |
删除微调模型
有光就有影子,有创建就有删除:
1 | openai api models.delete -i 微调模型 |
Python也可以删除一个微调模型:
1 | import openai |
使用微调模型
你可以直接使用微调成功后,自动生成的命令行:
1 | openai api completions.create -m 微调模型 -p 提白 |
当然主要的还是我们的 Python,这是官网示范:
1 | import openai |
openai.Completion.create()
返回一个字典:
1 | { |
也就是说,只要拿到 openai.Completion.create()['choices'][0]['text']
,就拿到了模型返回的字符串,我们打印这个字符串就好了。
稍作修改一番:
1 | import openai |
一个简易的控制台机器人就写好了。