This repository has been archived on 2024-10-01. You can view files and clone it, but cannot push or open issues or pull requests.
ai-virtual-assistant/py/web_flask.py

54 lines
1.4 KiB
Python
Raw Normal View History

2024-09-16 14:39:11 +02:00
from flask import Flask, request, render_template
from api import API
2024-09-16 15:14:24 +02:00
from voice_recognition import Voice
2024-09-16 13:16:26 +02:00
2024-09-16 14:24:22 +02:00
APP = Flask(__name__)
2024-09-16 14:39:11 +02:00
api = API()
2024-09-16 15:14:24 +02:00
voice = Voice()
2024-09-16 14:39:11 +02:00
messages = []
2024-09-16 13:16:26 +02:00
2024-09-16 15:14:24 +02:00
# The following method shows the user the GUI and does the backend connections to the API.
2024-09-16 14:24:22 +02:00
@APP.route('/', methods=['GET', 'POST'])
def index():
2024-09-16 14:39:11 +02:00
global messages
2024-09-17 08:18:19 +02:00
system_prompt = 'You are a helpful assistant.'
system = 'Your system prompt is: \"'+system_prompt+'\" The following is your chat log so far: \n'
2024-09-16 14:39:11 +02:00
2024-09-16 14:24:22 +02:00
if request.method == 'POST':
option = request.form['option']
2024-09-16 13:16:26 +02:00
2024-09-16 14:39:11 +02:00
user_message = request.form['user_message']
2024-09-16 14:24:22 +02:00
if option == "voice":
2024-09-16 15:14:24 +02:00
user_message = voice.listen()
2024-09-16 14:39:11 +02:00
messages.append(f"User: {user_message}")
2024-09-16 14:24:22 +02:00
elif option == "chat":
2024-09-16 14:39:11 +02:00
messages.append(f"User: {user_message}")
2024-09-17 08:18:19 +02:00
for line in messages:
system += line + '\n'
system += "The chat log is now finished."
ai_response = "AI: " + api.send_message(user_message, 5, system)
2024-09-16 14:39:11 +02:00
messages.append(ai_response)
2024-09-16 14:24:22 +02:00
2024-09-16 14:39:11 +02:00
return render_template('index.html', messages=messages)
2024-09-16 14:24:22 +02:00
2024-09-16 16:12:51 +02:00
@APP.route('/faq')
def faq():
return render_template('faq.html')
@APP.route('/documentation')
2024-09-16 16:12:51 +02:00
def contact():
return render_template('documentation.html')
2024-09-16 16:12:51 +02:00
2024-09-16 14:24:22 +02:00
if __name__ == '__main__':
2024-09-16 16:12:51 +02:00
APP.run(debug=True)
# This is a comment --> test if this creates a merge conflict