目录

  • ChatGPT没有API?OpenAI官方API带你起飞
    • 安装 OpenAI 的 API 库
    • 包装个函数
    • 包装个UI
    • API 调不通怎么办?

ChatGPT没有API?OpenAI官方API带你起飞

前段时间ChatGPT爆火,OpenAI 的 GPT API也被大家疯狂调用,
但其实这个API是基于GPT3的,和基于GPT3.5的ChatGPT相比只能说是小弟弟,
现在 OpenAI 的 ChatGPT API 终于来了!!!
实操一下。

安装 OpenAI 的 API 库

pip直接安装就好
···
pip install openai
···
如果之前装过,就用
···
pip install –upgrade openai
···

包装个函数

import openai

openai.api_key = “apikey” # 首先要有apikey
 
def chatgpt(content, temperature=0.8):
    response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo", # 不建议使用 gpt-3.5-turbo-0301
    messages=[
    	{"role": "user", "content": content}
    ],
    temperature=temperature,
    max_tokens=1000,
    top_p=1,
    frequency_penalty=0,
    presence_penalty=0,
    )
    # print(response)
    return response.choices[0].message.content

if __name__ == "__main__":
    text = "gradio是什么?"
    output = send_chatgpt(text,0.8)
    print(output)

运行一下:

Gradio是一个免费、开源的Web应用程序,可帮助用户在不编写任何代码的情况下快速构建和部署机器学习模型。它提供了一个用户友好的界面,使用户能够轻松地上传数
据和模型,并生成一个交互式的UI,以便用户可以轻松地使用和测试模型。Gradio支持许多常见的机器学习框架和模型,例如TensorFlow、PyTorch、scikit-learn等。

效果不错,就是用起来不太方便,Gradio了解一下

包装个UI

安装
···
pip install gradio
···
调用入口改一下:

if __name__ == "__main__":  
    import gradio as gr
    
    def send_chatgpt(text):
        output = chatgpt(text,0.8)
        return output
    
    interface = gr.Interface(fn=send_chatgpt, inputs="text", outputs="text")
    interface.launch()

运行,直接起了个网页:

Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.

使用简单粗暴:
在这里插入图片描述

API 调不通怎么办?

调用过程中可能会出现异常

openai.error.APIConnectionError: Error communicating with OpenAI: 
HTTPSConnectionPool(host='api.openai.com', port=443)

这是由于没有设置全局代理导致的,假设代理是http://127.0.0.1:10809
使用powershell调用加入全局代理即可:

$env:HTTP_PROXY="http://127.0.0.1:10809"
$env:HTTPS_PROXY="http://127.0.0.1:10809"
python .\app.py

如果使用cmd调用,换一种方式加代理:

set HTTP_PROXY="http://127.0.0.1:10809"'
set HTTPS_PROXY="http://127.0.0.1:10809"'
python app.py"