如何使用ChatGPT API 及 问题解决

时间:2023-04-05 07:17:45

1, 注册OpenAI账号

关于注册账号,这里不做赘述,默认大家想要使用API都能翻。

2,获取OpenAI的API秘钥

登录OpenAI网站,在右上角的个人信息中,点击View API keys
如何使用ChatGPT API 及 问题解决
创建新的密匙,该密匙在复制之后,可以先保存起来。比如说建一个txt文件,放进去,因为后面要用到。
如何使用ChatGPT API 及 问题解决

3,pip安装openai库

3.1 pip安装openai库

在这里,本人使用anaconda Prompt来安装openai,输入下面指令:

pip install openai

3.2 pip安装错误

在输入上述指令后,出现了一个bug,如下图所示:
如何使用ChatGPT API 及 问题解决
解决方法
原因是因为刚刚访问openai时,一直挂着魔法上网。在这里推荐先关掉魔法上网,使用国内源进行下载。

4,Chatgpt API连接测试

4.1 Chatgpt API连接测试

在安装好openai后,可以新建一个test.py文件,导入该库,就可以调用chatgpt接口。
:记得在秘匙处 填入 第2步复制下来的 一长段字母。

例如如下测试程序,参考朱*[1],参考链接见参考1.

import openai

# 填你的秘钥
openai.api_key = "这里填key"

# 提问代码
def chat_gpt(prompt):
    # 你的问题
    prompt = prompt
    
    # 调用 ChatGPT 接口
    model_engine = "text-davinci-003"
    completion = openai.Completion.create(
        engine=model_engine,
        prompt=prompt,
        max_tokens=1024,
        n=1,
        stop=None,
        temperature=0.5,
    )

    response = completion.choices[0].text
    print(response)


chat_gpt("Python怎么从入门到精通,具体的学习方法是什么?")

4.2 连接测试错误

在运行上述文件时,出现了以下报错,在连接时发生了APIConnectionError。

openai.error.APIConnectionError: Error communicating 
with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with 
url: /v1/engines/text-davinci-003/completions (Caused by ProxyError('Cannot connect to proxy.', OSError(0, 'Error')))

解决方式
参考知乎回答及CSDN回答,见参考链接2,3.

方法:

  • (1),找到刚刚安装的openai的路径,如: E:\anaconda\anaconda\Lib\site-packages\openai

  • (2),找到 api_api_requestor.py 文件

  • (3),找到“if not hasattr(_thread_context, “session”):”方法,并在此方法上方加入代理,加入如下这句话:

# proxy = {
#    'http': 'http://<代理ip>:<代理端口>',
#    'https': 'https://<代理ip>:<代理端口>'
#       }
 
proxy={
            'http':'127.0.0.1:10809',
            'https':'127.0.0.1:10809'
        }

注意:每个人的代理ip和代理端口可能不同,需要查看自己的代理端口。
如果想要查看个人代理,可以进入网络与internet里查看,点击手动设置代理,里面就会出现代理ip和代理端口。

如何使用ChatGPT API 及 问题解决

  • (4) 在“result = _thread_context.session.request(”中加入 如下这句话
proxies=proxy

原始未修改前:
如何使用ChatGPT API 及 问题解决

  • (5) 最终结果如下,然后你再尝试运行test.py 就会有相应输出。
    修改之后的:
    如何使用ChatGPT API 及 问题解决