使用Python调用ChatGPT API
ChatGPT是一个基于OpenAI的GPT模型的聊天接口。它可以用于构建聊天机器人、智能助手等自然语言处理应用。本文将介绍如何使用Python调用ChatGPT的API,并展示一些示例代码。
特别注意
GPT会禁止国内IP访问,所以在运行代码的网络环境下必须是非大陆,实测过香港可以,有些国外的地区也是不支持的你想要的答案都在代码和注释里,很详细很清楚准备工作
在开始之前,您需要完成以下准备工作:
注册OpenAI账号:访问OpenAI官方网站 ,注册一个账号并登录。
创建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 APIresponse = pletion.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. 国外信用卡(这个最难)#如果不想这么麻烦的话,这里有一个国内镜像可长期免费使用:
在上面的代码中,我们通过设置openai.api_key
变量将API密钥传递给OpenAI库。然后,我们调用了pletion.create
函数来发送一个聊天请求。在这个请求中,我们指定了ChatGPT的模型引擎、聊天的提示、生成的最大令牌数等参数。最后,我们打印出API的响应结果。