使用 Python Requests 库调用 ChatGPT API 的多轮对话脚本
这是一个 Python 脚本,使用 requests 库调用 ChatGPT API 进行多轮对话,并且可以添加自定义代理服务器。
如何使用
前置条件
在使用该脚本前,你需要拥有一个 ChatGPT API 的访问口令(Token)。可以参考 ChatGPT API 的文档 获取该访问口令。
安装依赖
在使用该脚本前,你需要安装
requests
库。可以使用以下命令安装:
pip install requests
运行脚本
在运行脚本之前,你需要编辑
chat.py
文件,配置 ChatGPT API 的访问口令和代理服务器地址(如果需要)。
然后,你可以使用以下命令运行脚本:
python chat.py
该脚本会启动一个命令行界面,你可以在命令行内输入对话内容与 API 进行交互。
配置代理服务器
如果你需要使用代理服务器来访问 ChatGPT API,可以在
chat.py
中进行配置,在
PROXY_URL
中填写代理服务器地址即可。
注意事项
- 在使用 ChatGPT API 进行多轮对话时,需要注意 API 的并发调用限制以及接口响应时间等因素。
- 在使用自定义代理服务器时,需要注意代理服务器的访问速度和稳定性。
- 该脚本仅供学习和研究使用,使用时请遵守相关法律法规。
import requests
# 用于存储API返回的上下文
class gpt:
def send_request(self,messages):
# 设置代理服务器的地址和端口
proxies = {
"http": "http://127.0.0.1:7890",
"https": "http://127.0.0.1:7890"
# ChatGPT API的URL
url = "https://api.openai.com/v1/chat/completions"
# ChatGPT API的访问密钥
api_key = "【在这输入 ChatGPT API的访问密钥】"
# 请求参数
parameters = {
"model": "gpt-3.5-turbo-0301", #gpt-3.5-turbo-0301
"messages":messages# [{"role": "user", "content": context}]
# 请求头
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
# 发送请求
response = requests.post(url, headers=headers, json=parameters, proxies=proxies)
# 解析响应
if response.status_code == 200:
data = response.json()
text = data["choices"][0]["message"]
return text
else:
print(response)
return "Sorry, something went wrong."
def start_conversation(self,messages):
print("Welcome to ChatGPT! How can I help you today?")
# 进入对话循环
while True:
# 获取用户输入
user_input = input("> ")
user_message={"role": "user", "content": user_input}
# 将用户输入添加到messages中
messages.append(user_message)
# 发送API请求
response = self.send_request(messages)
# 输出API返回内容
print("ChatBot:",response["content"])
#将API接口返回的内容添加至messages,以用作多轮对话
messages.append(response)
# 如果API返回的内容包含"goodbye",则结束对话循环