如何使用ChatGPT API 及 问题解决

Posted Alexa2077

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用ChatGPT API 及 问题解决相关的知识,希望对你有一定的参考价值。

如何使用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 就会有相应输出。
    修改之后的:

ChatGpt如何注释长代码?(注释代码添加注释)(api key)

OpenAI的GPT-3模型单次最多支持处理4096字节的会话。如果您的代码很长,导致它只能输出一半,您可以考虑以下几种解决方案:

  • 分段发送请求:您可以将代码分为若干段,然后分别发送请求,得到每一段的注释。

  • 使用API:您可以使用OpenAI的API来请求注释,以确保您可以获得所有内容的注释。

分段发送请求

使用API

获取api key

要获取 OpenAI API Key,您需要先创建一个 OpenAI 账户,并在其中申请 API Key。您可以访问 OpenAI 官网(https://beta.openai.com/),在页面顶部点击“Pricing”,然后在弹出的窗口中点击“Get API Key”。您需要提供一些信息,如您的名字、公司名称和电子邮件地址,然后 OpenAI 的团队将在几天内与您联系以提供您的 API Key。



还挺麻烦的,要等他发邮件过来吗?

调用接口的参考python代码:

import openai

# 使用你的 API Key
openai.api_key = "YOUR_API_KEY"

# 读取代码文件
with open("input_file.txt", "r") as input_file:
    code = input_file.read()

model_engine = "text-davinci-002"
prompt = f"请注释以下代码:\\ncode"

completions = openai.Completion.create(
    engine=model_engine,
    prompt=prompt,
    max_tokens=1024,
    n=1,
    stop=None,
    temperature=0.5,
)

annotated_code = completions.choices[0].text

# 将注释后的代码写入文件
with open("output_file.txt", "w") as output_file:
    output_file.write(annotated_code)

以上是关于如何使用ChatGPT API 及 问题解决的主要内容,如果未能解决你的问题,请参考以下文章

ChatGpt如何注释长代码?(注释代码添加注释)(api key)

ChatGpt如何注释长代码?(注释代码添加注释)(api key)

经验分享-如何使用http调用chatGPT-3.5-turbo模型API

如何在Android中使用OpenAI API构建一个ChatGPT类的应用程序

白话科普:如何训练ChatGPT,能用它来挣钱吗?P.S. 今晚19:30,说透ChatGPT

ChatGPT API 调用教程