在本篇博客中,我们将介绍如何使用 Python 调用 OpenAI 的 ChatGPT 模型,包括使用 OpenAI 库和 HTTP requests原始JSON请求两种方式。

一、使用 OpenAI 库调用 ChatGPT

将python第三方库openai的更新到最新版本, 使用如下命令。

pip install openai

使用 OpenAI 库调用 ChatGPT,以下是示例代码:

import openai
prompt = "1+2=?"
# 设置 API 密钥
apikey = "sk-RJqGQyLC0htwxsxxJmnST2BlbkFJlwGUvfRsPLGvK1ymG522"  #
# 调用 ChatGPT
response = openai.ChatCompletion.create(
            model="gpt-3.5-turbo",
            messages=[
                # {"role": "system", "content": "You are a helpful assistant."},
                {"role": "user", "content": prompt},
                # {"role": "assistant", "content": "https://www.rgznbk.com/"},
            ],
            temperature=0.2,
        )
# 输出响应结果
# print(response)
answer = response.choices[0].message.content.strip()
print(answer)

在上面的代码中,首先设置了 API 密钥,然后使用 openai.ChatCompletion.create()函数调用 ChatGPT 模型。其中,model 参数指定了要使用的 GPT-3 引擎,这里我们使用 gpt-3.5-turbo 引擎;prompt 参数指定了对话的初始提示语句。最后,输出了 ChatGPT 模型生成的回答。

二、使用 HTTP requests 请求调用 ChatGPT

除了使用 OpenAI 库之外,还可以使用 HTTP 原始请求直接与 OpenAI API 进行通信。以下是使用 HTTP 原始请求调用 ChatGPT 的示例代码:

import requests
import os,json
# 设置 API 密钥和 API URL
apikey = "sk-RJqGQyLC0htwxsxxJmnST2BlbkFJlwGUvfRsPLGvK1ymG522"  #
url = "https://api.openai.com/v1/chat/completions"
# 设置请求头
headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer " + apikey,
        }
        
# 设置请求体
prompt = "3+3=?"
field = {
    "model":"gpt-3.5-turbo",
    "messages":[
        # {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": prompt},
        # {"role": "assistant", "content": "https://www.rgznbk.com/"}
    ]
}
proxies = {
            "http":"http://123.11.175.192:7302"
          }
# 发送 HTTP POST 请求
response = requests.post(url, headers=headers, data=json.dumps(field))
# response = requests.post(url, headers=headers, proxies=proxies, data=json.dumps(field)) #使用代理
# 解析响应结果
result = response.json()
print(result)
print(result["choices"][0]["message"]["content"].strip())

在上面的代码中,首先设置了 API 密钥和 API URL,然后设置了请求头和请求体。其中,请求头包括了 API 密钥,请求体包括了对话的初始提示语句和 ChatGPT 模型。最后,我们使用 HTTP POST 请求发送请求,并解析响应结果,输出 ChatGPT 模型生成的回答。

在requests时,可以设置代理,在请求的时候加上代理的地址proxies,被注释的那条请求语句。
使用这个的前提是你已经有一个可用的代理了。

总结

在本篇博客中,我们介绍了如何使用 Python 调用 OpenAI 的 ChatGPT 模型。我们展示了两种不同的调用方式:使用 OpenAI 库和 HTTP 原始请求。使用 OpenAI 库调用 ChatGPT 可以更加方便快捷,而使用 HTTP 原始请求则更加灵活,可以更加自定义请求参数。