ChatGPT-3 使用Python Flask从Open AI API获取400个错误请求

lf5gs5x2  于 2023-03-03  发布在  Python
关注(0)|答案(1)|浏览(408)

我想从OpenAI API使用Flask获得响应。我是否通过http://127.0.0.1:5000/chat从浏览器获得状态400错误请求

错误请求

  • 此服务器无法理解浏览器(或代理)发送的请求。*

我还从** Postman **那里查到了这个

from flask import Flask, request, render_template
import requests

app = Flask(__name__)

@app.route('/')
def index():
    return 'Welcome to ChatGPT app!'

@app.route('/chat', methods=['GET', 'POST'])
def chat():
    user_input = request.form['text']
    # Use OpenAI's API to generate a response from ChatGPT
    response = generate_response_from_chatgpt(user_input)
    return response

def generate_response_from_chatgpt(user_input):
    api_key = "YOUR_API_KEY"
    url = "https://api.openai.com/v1/engines/davinci/completions"
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {api_key}"
    }
    data = {
        "prompt": user_input,
        "engine": "davinci"
    }
    response = requests.post(url, headers=headers, json=data)
    return response.json()["choices"][0]["text"]

if __name__ == '__main__':
    app.run()
14ifxucb

14ifxucb1#

最好你检查一下openai文档,确保你在请求中使用了正确的端点和数据格式。另外,你应该检查一下你的API密钥,看看它是否正确,以及你是否达到了请求的上限。
另外,值得注意的是,您提供的代码缺少Flask的import语句。您需要在文件的顶部添加以下行:
此外,我看到您正在使用request.form['text'],但您应该检查请求是GET还是POST请求。

if request.method == 'POST':
    user_input = request.form['text']
else:
    user_input = request.args.get('text')

这是为了避免在请求是GET请求时引发KeyError。

相关问题