我想从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()
1条答案
按热度按时间14ifxucb1#
最好你检查一下openai文档,确保你在请求中使用了正确的端点和数据格式。另外,你应该检查一下你的API密钥,看看它是否正确,以及你是否达到了请求的上限。
另外,值得注意的是,您提供的代码缺少Flask的import语句。您需要在文件的顶部添加以下行:
此外,我看到您正在使用
request.form['text']
,但您应该检查请求是GET还是POST请求。这是为了避免在请求是GET请求时引发KeyError。