Build a Q&A Website with OpenAI API and Python
To build a Q&A website, we'll use Python and the OpenAI API. Here's a step-by-step guide:
-
Install OpenAI API:
- First, create an account on the OpenAI website and obtain an API key.
- Install the OpenAI package using the pip command:
pip install openai -
Create a Python File:
- Create a Python file named 'app.py' and import the necessary libraries:
from flask import Flask, request, jsonify import openai -
Create a Web Server:
- Use Flask to create a web server:
app = Flask(__name__) @app.route('/ask', methods=['POST']) def ask(): # code to ask a question and get an answer -
Ask a Question and Get an Answer:
- Use the OpenAI API to ask a question and get an answer:
openai.api_key = 'YOUR_API_KEY' def ask_question(question): response = openai.Completion.create( engine='davinci', prompt=f'Q: {question}
A:', temperature=0.5, max_tokens=1024, top_p=1, frequency_penalty=0, presence_penalty=0 )
return response.choices[0].text.strip()
5. **Process a POST Request:**
- Process the POST request and return the answer:
```python
@app.route('/ask', methods=['POST'])
def ask():
data = request.get_json()
question = data['question']
answer = ask_question(question)
response = {
'answer': answer
}
return jsonify(response)
-
Create an HTML File:
- Create an HTML file named 'index.html' and add a form to ask a question:
<!DOCTYPE html> <html> <head> <title>Ask Question</title> </head> <body> <form> <label for='question'>Question:</label> <input type='text' id='question' name='question'><br><br> <input type='button' onclick='ask_question()' value='Ask'> </form> <div id='answer'></div> <script src='https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js'></script> <script> function ask_question() { var question = $('#question').val(); $.ajax({ url: '/ask', type: 'POST', contentType: 'application/json', data: JSON.stringify({'question': question}), success: function(data) { $('#answer').html(data.answer); } }); } </script> </body> </html> -
Run the Web Server:
- Run the web server with the command:
python app.pyOpen the website in the browser at 'http://localhost:5000/'. Enter a question in the form, and click the 'Ask' button. The answer will be displayed below the form.
原文地址: https://www.cveoy.top/t/topic/lBPe 著作权归作者所有。请勿转载和采集!