使用Python调用ChatGPT API
使用Python调用ChatGPT API
ChatGPT是一个基于OpenAI的GPT模型的聊天接口。它可以用于构建聊天机器人、智能助手等自然语言处理应用。本文将介绍如何使用Python调用ChatGPT的API,并展示一些示例代码。
特别注意
- GPT会禁止国内IP访问,所以在运行代码的网络环境下必须是非大陆,实测过香港可以,有些国外的地区也是不支持的
- 你想要的答案都在代码和注释里,很详细很清楚
准备工作
在开始之前,您需要完成以下准备工作:
-
注册OpenAI账号:访问OpenAI官方网站 openai.com,注册一个账号并登录。
-
创建API密钥:登录OpenAI后台,转到"API Keys"页面,在那里您可以创建一个新的API密钥。
-
安装OpenAI Python库:打开终端或命令提示符,运行以下命令安装OpenAI Python库:
pip install openai
- 获取API密钥:在Python代码中,您需要将OpenAI账号的API密钥作为环境变量传递给OpenAI库。您可以在终端或命令提示符中运行以下命令设置环境变量:
export OPENAI_API_KEY='your-api-key'
调用ChatGPT API
以下是一个使用Python调用ChatGPT API的示例代码:
import openai
# 设置API密钥
openai.api_key = 'your-api-key'
# 调用ChatGPT API
response = openai.Completion.create(
model="gpt-3.5-turbo",# 还有其他模型如:gpt-3.5-turbo-16k(支持更大输入输出文本)、gpt-4(账号需要付款1美刀以上解锁)、gpt-4-32k(支持更大文本,一般用户无法使用)
messages=[{ role: 'system', content: '你是一个数学老师',{ role: 'user', content: '你好,1+1等于几?' }],# role参数有三个选项system(系统设定,赋予gpt一个角色)、user(代表用户也就是你)、assistant(代表gpt),content就是文本内容了,需要联系上下文的话,把前面的历史对话都添加进入到这个数字里即可,这样GPT就能关联上下文了!
temperature=0.8,# 取值在0-2,值越低回答越死板较为官方标准,值越高回答越随机,答案可能会很离谱荒谬
stream=false, # 是否采用流文本传输,false的话GPT会一次性把回复内容全部发给你,等待的时间会比较长,响应数据里面会包含输入tokens数和输出tokens数;true的话GPT就会一个一个字的回复给你,需要多次接收,搞起来稍微麻烦一点,这样也能实现像官网那样的打字回复效果,但是响应数据里面不会包含输入tokens数和输出tokens数,这样就需要你利用tiktoken这个库去实现自己计算tokens的消耗了。
)
# 输出响应
print(response.choices[0].text.strip())
# 若需长期使用chatgpt需要必备三样东西:
#1. 魔法梯子
#2. 国外手机号接验证码注册
#3. 国外信用卡(这个最难)
#如果不想这么麻烦的话,这里有一个国内镜像可长期免费使用:chatgpt.indexls.com
在上面的代码中,我们通过设置openai.api_key
变量将API密钥传递给OpenAI库。然后,我们调用了openai.Completion.create
函数来发送一个聊天请求。在这个请求中,我们指定了ChatGPT的模型引擎、聊天的提示、生成的最大令牌数等参数。最后,我们打印出API的响应结果。