如何使用ChatGPT API 及 问题解决
1, 注册OpenAI账号
关于注册账号,这里不做赘述,默认大家想要使用API都能翻。
2,获取OpenAI的API秘钥
登录OpenAI网站,在右上角的个人信息中,点击View API keys
 
 创建新的密匙,该密匙在复制之后,可以先保存起来。比如说建一个txt文件,放进去,因为后面要用到。
 
3,pip安装openai库
3.1 pip安装openai库
在这里,本人使用anaconda Prompt来安装openai,输入下面指令:
pip install openai
 
3.2 pip安装错误
在输入上述指令后,出现了一个bug,如下图所示:
 
 解决方法:
 原因是因为刚刚访问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和代理端口。

- (4) 在“result = _thread_context.session.request(”中加入 如下这句话
 
proxies=proxy
 
原始未修改前:
 
- (5) 最终结果如下,然后你再尝试运行test.py 就会有相应输出。
修改之后的:

 










