如何使用ChatGPT API 及 问题解决

如何使用ChatGPT API 及 问题解决

  • 1, 注册OpenAI账号
  • 2,获取OpenAI的API秘钥
  • 3,pip安装openai库
  • 3.1 pip安装openai库
  • 3.2 pip安装错误
  • 4,Chatgpt API连接测试
  • 4.1 Chatgpt API连接测试
  • 4.2 连接测试错误
  • 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 就会有相应输出。
    修改之后的:
  • 物联沃分享整理
    物联沃-IOTWORD物联网 » 如何使用ChatGPT API 及 问题解决

    发表评论