首先已经有了ChatGPT
的账号,并且登录进去,然后才能申请API key
,如果还没有可以参考【国内注册ChatGPT详细流程】
测试下来需要科学上网环境,而且需要限制国家,否则出现如下信息,需要自己切换下自己的科学上网的线路:
Not available
OpenAI's services are not available in your country.
数据准备
ChatGPT
的API
用到组织ID
和API key
两个值,不过Organization ID
不是必填项,可以不提供。
Organization ID
Organization ID直接从设置中获取,复制出来:
![image-20230320140530922](https://git.mengqingpo.com:8888//fugary/blogpic/uploads/e6c472f75c22a4240ddca38aa1ccbbfa/image-20230320140530922.png)
申请API key
进入网址:https://platform.openai.com/
右上角进入【View API keys】:https://platform.openai.com/account/api-keys
![image-20230320134027001](https://git.mengqingpo.com:8888//fugary/blogpic/uploads/21df87197a2390366f61bd3c4d398cda/image-20230320134027001.png)
点击【Create new secret key】:
![image-20230320134316261](https://git.mengqingpo.com:8888//fugary/blogpic/uploads/6988bdd15d3f73f94c5f6dd72c624336/image-20230320134316261.png)
生成成功,自己复制出来并保存好,只会看到一次,如果忘了只能删除并重新生成一个。
![image-20230320134430612](https://git.mengqingpo.com:8888//fugary/blogpic/uploads/22ea07be57c485d91d23a1cee79846a2/image-20230320134430612.png)
默认显示有18美元余额,最新注册的似乎只有5美元了。
![image-20230320143216170](https://git.mengqingpo.com:8888//fugary/blogpic/uploads/22b8a7c34fd27ea0bf50805bee1b5245/image-20230320143216170.png)
ChatGPT
有自己一套计费规则,每次响应会提示多少Token
,按照Token
数量收费。
用Python开发
参考文档:https://platform.openai.com/docs/api-reference
首先已经有Python
环境了,如果环境都没有就没法运行了。
用Python测试调用
安装依赖:
pip install openai
开发测试代码:
import os
import openai
if __name__ == "__main__":
openai.organization = os.getenv("OPENAI_ORGANIZATION_ID")
openai.api_key = os.getenv("OPENAI_API_KEY")
models = openai.Model.list()
for model in models.data:
print(model.id)
可以看到一些支持的模型。
不同的模型功能不同,有语音转文本、代码补全、文本补全、聊天等。
测试对话
上面测试可以看到能使用的模型,这里选用gpt-3.5-turbo
聊天模型来实现简单对话。
模型说文档:https://platform.openai.com/docs/models/overview
import os
import openai
if __name__ == "__main__":
openai.organization = os.getenv("OPENAI_ORGANIZATION_ID")
openai.api_key = os.getenv("OPENAI_API_KEY")
result = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "简要介绍下Python魔法函数"}
]
)
print(result)
if result.choices:
print(result.choices[0].message.content)
运行会输出相关信息:
![image-20230320145003014](https://git.mengqingpo.com:8888//fugary/blogpic/uploads/da9e84c172584086b901514d0eac3e5f/image-20230320145003014.png)
更多使用方式,可以参考文档: