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