如何用Flask写一个程序,实现访问OpenAI接口,做一个类似ChatGPT问答页面?请给出详细的示例,然后对关键行加注释。
时间: 2023-02-14 18:39:02 浏览: 158
首先,需要安装Flask和OpenAI的Python库。可以在终端中运行以下命令进行安装:
```
pip install flask openai
```
然后,编写Flask程序。下面是一个简单的示例,实现了一个类似ChatGPT的问答页面:
```python
from flask import Flask, request, jsonify
import openai
app = Flask(__name__)
# OpenAI API key
openai.api_key = "YOUR_API_KEY"
@app.route('/answer', methods=['POST'])
def answer():
# 获取问题
question = request.json['question']
# 使用OpenAI的API获取回答
response = openai.Completion.create(
engine="text-davinci-002",
prompt=question,
max_tokens=2048,
n=1,
stop=None,
temperature=0.5,
)
# 返回回答
return jsonify(response.choices[0].text)
if __name__ == '__main__':
app.run(debug=True)
```
其中,
- `openai.api_key` 处需要填入自己申请的OpenAI API key
- `/answer` 用于接收请求和返回回答,使用了POST方法。
- `question` 是请求中的问题,通过`request.json['question']`获取。
- `openai.Completion.create(...)` 用于调用OpenAI API,获取回答。
- `response.choices[0].text`获取回答的文本
- `jsonify(response.choices[0].text)`将结果以json的形式返回
运行程序后,可以通过发送POST请求到`http://localhost:5000/answer`来获取回答。请求的内容应该是一个包含问题的JSON对象,如下所示:
```
{
"question": "你是谁"
}
```
这只是一个最基本的示例
阅读全文