@@ -0,0 +1,174 @@ | |||
import sys | |||
from PyQt5.uic import loadUi | |||
from PyQt5 import QtWidgets | |||
from PyQt5.QtWidgets import QDialog, QApplication, QWidget, QLabel, QScrollArea, QVBoxLayout, QFrame, QComboBox | |||
from PyQt5.QtGui import QPixmap | |||
import firebase_admin | |||
from firebase_admin import credentials, auth, db, initialize_app | |||
import os | |||
current_directory = os.path.dirname(os.path.realpath(__file__)) | |||
json_path = os.path.join(current_directory, 'chatbot.json') | |||
#cred = credentials.Certificate('/home/knight/ChatBot_UI/chatbot.json') | |||
cred = credentials.Certificate(json_path) | |||
firebase_admin.initialize_app(cred, {'databaseURL': 'https://chatbot-402717-default-rtdb.firebaseio.com/'}) | |||
class RoundedVBoxLayout(QVBoxLayout): | |||
def __init__(self): | |||
super().__init__() | |||
self.rounded_frame = QFrame() | |||
self.rounded_frame.setStyleSheet("QFrame {border-radius: 50px; background-color: lightgray;}") | |||
self.rounded_frame.setLayout(self) | |||
def addWidget(self, widget): | |||
# Add widgets to the rounded frame | |||
super().addWidget(widget) | |||
class LoginScreen(QDialog): | |||
def __init__(self): | |||
super(LoginScreen, self).__init__() | |||
loadUi("login.ui",self) | |||
self.passwordfield.setEchoMode(QtWidgets.QLineEdit.Password) | |||
self.loginButton.clicked.connect(self.loginfunction) | |||
#self.loginButton.clicked.connect(self.gotoDashboard) | |||
def loginfunction(self): | |||
username = self.emailfield.text() | |||
password = self.passwordfield.text() | |||
if len(username)==0 or len(password)==0: | |||
self.labelError.setText("Please input all fields.") | |||
else: | |||
try: | |||
user = auth.get_user_by_email(username) | |||
if user: | |||
self.gotoDashboard() | |||
except: | |||
print("Login Failed !") | |||
self.labelError.setText("Login Failed Invalid Username or Password") | |||
def gotoDashboard(self): | |||
dashBoard = DashBoard() | |||
widget.addWidget(dashBoard) | |||
widget.setCurrentIndex(widget.currentIndex()+1) | |||
class DashBoard(QDialog): | |||
def __init__(self): | |||
super(DashBoard, self).__init__() | |||
loadUi('dashboard.ui', self) | |||
self.ref = db.reference('/intents_and_questions') | |||
self.layout = self.questionLayout | |||
self.show_intents_questions() | |||
self.get_intents() | |||
def update_intent(self): | |||
pass | |||
def update_question(self): | |||
pass | |||
def get_intents(self): | |||
self.intentCombo.setContentsMargins(40, 140, 0, 0) | |||
data = self.ref.get() | |||
if data: | |||
self.intentCombo.addItems(list(data.keys())) | |||
else: | |||
self.intentCombo.addItems([]) | |||
def show_intents_questions(self): | |||
data = self.ref.get() | |||
if data: | |||
# Assuming data is a dictionary | |||
for intent, questions in data.items(): | |||
questions_text = '\n'.join(questions) | |||
#label_text = f"Intent: {intent}\nQuestions:{questions_text}\n{'-'*50}" | |||
label_text = f"INTENT : {intent}\n\nQUESTIONS : \n{questions_text}\n{'-'*50}" | |||
label = QLabel(label_text) | |||
label.setContentsMargins(20,20,20,20) | |||
self.layout.addWidget(label) | |||
scroll_area = QScrollArea() | |||
scroll_area.setWidgetResizable(True) | |||
scroll_widget = QWidget() | |||
scroll_widget.setLayout(self.layout) | |||
scroll_area.setWidget(scroll_widget) | |||
#main_layout = QVBoxLayout() | |||
main_layout = RoundedVBoxLayout() | |||
main_layout.addWidget(scroll_area) | |||
main_layout.setContentsMargins(20, 120, 800, 30) | |||
self.setLayout(main_layout) | |||
self.setGeometry(300, 300, 400, 200) | |||
self.setWindowTitle('Dashboard') | |||
self.show() | |||
app = QApplication(sys.argv) | |||
welcome = LoginScreen() | |||
widget = QtWidgets.QStackedWidget() | |||
widget.addWidget(welcome) | |||
widget.setFixedHeight(800) | |||
widget.setFixedWidth(1200) | |||
widget.show() | |||
try: | |||
sys.exit(app.exec_()) | |||
except: | |||
print("Exiting") |
@@ -0,0 +1,13 @@ | |||
{ | |||
"type": "service_account", | |||
"project_id": "chatbot-402717", | |||
"private_key_id": "a8af9eb772aee6b957ee35dd990c2f29d2beb4b2", | |||
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDSslvYD9b5QOBc\nZpyvueKSaE71wMI2z+bozngRNufxLAVLy6p/0YkAMUfhPQGyu5Qw0X2ReXO9NOUU\n2T885CXTaXEXQOvk1Z8IAwp7i/bt/WDInVoDZ9mVu8OxNxtGJh0urLxbS4R1Fqb4\np/s1Gx/kgUOZvBTttUb5HMBZWwECclbCfowjmaUwTBp88BSZEmRV0rW+rUhcD34y\nYe6raksOgqpZbwW4JrQGNruoyJkEgOjTzE3kJ6Df5ttPyrvCFpRokvekD3uv/u+b\nRsd5Y5Obo5lNVRep2+vlMBy+4u6wypfZHONQuy+6RsA1RGBZbT0K1d4MIvJXL68g\nwtuDfbBxAgMBAAECggEABhjpY6J7NpO+HmxthcAVzoX4XYAoWqrX8EYr1zcxHYOI\nLHQqlSf6nIvgjDQOUtZe9K32Ud27d8byZ3DdRbFGRzTEpB8xyGm2cEZawP4pHWRl\nDu8vS/yPEVhJgq0RI+29z9RJv+RawyLufnEJifUUzmF/g+Ebk7C4muROLHPPztrT\n2XBG942dwFmjlrRGzb1MbQIDi7UOFY19hQskQTLMjnLIw+SfPXq8Kj3HK8JHeNc8\nVALcI4BWYZrFNYfsY5Rf0L68w07GLSnHVgndWm6nJfMw40CWaDnWG9b4QZfOFouo\nEtphmcifU9QyXOC2PvCwTJUJcbM9gQnIXbF2wczfIQKBgQD9tBS9zUGm00oe3lkx\nR5svvoUHEgAg2ZfU+ERjRPlLgnfj9FxWu/H0SPsgy66FhgyuVNvUVnWRUen2G2yB\nXbYcu8hMKMmD6BMaAyuOZMuO2m4FHS2eTgfOeSKi+dCIwbtDwuTsitjDeOKwbAFp\ne7Mos/C/ql6JPBD2og43R00coQKBgQDUmp3AsX7NPkFbNzZMrV2SCnnJ4ImmEtYj\nVGXnnSKdorCWVaID81NyNEblaRErg0kJfV7AQG45K53pIyyBvv1QETXgofc3jzw5\nXq21edzOTSFjKfTz5409Cv2cYky1+xuP2S30z3Ry7TxACCcVHXaxDLPucKhiA/24\n6V0Wdf6x0QKBgATXwimZWG55zAlozyUMq96ucVWgN1ZpMOfE0XFfqK6TT/yO9pBF\nSCoUlo6atLshwu40+nlEKTxb5u5muZyCkG5d+0XQ5X/aFztA4jz2mZghfUYlt3A1\nJxr+3vVjdWKW6B80AjCtudOJZDJf7Wr5DINzY94Uv3c5KU277C+L8eHhAoGAV8iP\nomSnaq9t5O/jJ73diNNyffyMWVoluOi8OuoSxOvL5gbtopvxtJIJQ+giAsluetCd\nMtxnpotv5Dd1xQzLIyg4CsxVe0dVIosJRolOto/6XSuRzLOrCa1kEhI0gl9wffC6\nnP6bomh6HCZBnOJRg8Eu+iDiJbZoKNWSbhfCVkECgYEAixIjtmZ8IbatLSnVs6N4\nHz9b/wLKK+nyXq2hRBmWRbBXlXDxasKavLZ/OgmtM9/R8vMrwVKvJloRVhbnK1/q\n8DrVrgFn3pJOXtzrnNtQkR6Y5uYi7cn6DVI9RhObXqY1XhLZDX4acJTSRgvUUdu8\nMuXeZr6PsBwGM5nlBTTT6Hg=\n-----END PRIVATE KEY-----\n", | |||
"client_email": "firebase-adminsdk-7gtu4@chatbot-402717.iam.gserviceaccount.com", | |||
"client_id": "104666490557463603037", | |||
"auth_uri": "https://accounts.google.com/o/oauth2/auth", | |||
"token_uri": "https://oauth2.googleapis.com/token", | |||
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", | |||
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-7gtu4%40chatbot-402717.iam.gserviceaccount.com", | |||
"universe_domain": "googleapis.com" | |||
} |
@@ -0,0 +1,102 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<ui version="4.0"> | |||
<class>Dialog</class> | |||
<widget class="QDialog" name="Dialog"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>0</x> | |||
<y>0</y> | |||
<width>1200</width> | |||
<height>800</height> | |||
</rect> | |||
</property> | |||
<property name="windowTitle"> | |||
<string>Dialog</string> | |||
</property> | |||
<widget class="QWidget" name="bgwidget" native="true"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>0</x> | |||
<y>0</y> | |||
<width>1201</width> | |||
<height>801</height> | |||
</rect> | |||
</property> | |||
<property name="styleSheet"> | |||
<string notr="true">QWidget#bgwidget { | |||
background-color: qlineargradient(spread: pad, x1: 0.091, y1: 0.101636, x2: 0.991379, y2: 0.977, stop: 0 rgba(30, 30, 40, 255), stop: 1 rgba(50, 50, 80, 255)); | |||
} | |||
</string> | |||
</property> | |||
<widget class="QLabel" name="labelDashboard"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>480</x> | |||
<y>10</y> | |||
<width>262</width> | |||
<height>57</height> | |||
</rect> | |||
</property> | |||
<property name="styleSheet"> | |||
<string notr="true">font: 36pt "MS Shell Dlg 2"; color:rgb(255, 255, 255)</string> | |||
</property> | |||
<property name="text"> | |||
<string>Dashboard</string> | |||
</property> | |||
<property name="alignment"> | |||
<set>Qt::AlignCenter</set> | |||
</property> | |||
</widget> | |||
<widget class="QWidget" name="verticalLayoutWidget"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>30</x> | |||
<y>100</y> | |||
<width>441</width> | |||
<height>691</height> | |||
</rect> | |||
</property> | |||
<layout class="QVBoxLayout" name="questionLayout"/> | |||
</widget> | |||
<widget class="QLabel" name="label"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>0</x> | |||
<y>60</y> | |||
<width>311</width> | |||
<height>31</height> | |||
</rect> | |||
</property> | |||
<property name="styleSheet"> | |||
<string notr="true">color: rgb(255, 255, 255); | |||
font: 75 15pt "Waree";</string> | |||
</property> | |||
<property name="text"> | |||
<string>Questions and Intents</string> | |||
</property> | |||
<property name="alignment"> | |||
<set>Qt::AlignCenter</set> | |||
</property> | |||
</widget> | |||
<widget class="QComboBox" name="intentCombo"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>480</x> | |||
<y>126</y> | |||
<width>230</width> | |||
<height>24</height> | |||
</rect> | |||
</property> | |||
<property name="font"> | |||
<font> | |||
<weight>75</weight> | |||
<bold>true</bold> | |||
</font> | |||
</property> | |||
</widget> | |||
</widget> | |||
</widget> | |||
<resources/> | |||
<connections/> | |||
</ui> |
@@ -0,0 +1,188 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<ui version="4.0"> | |||
<class>Dialog</class> | |||
<widget class="QDialog" name="Dialog"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>0</x> | |||
<y>0</y> | |||
<width>1200</width> | |||
<height>800</height> | |||
</rect> | |||
</property> | |||
<property name="windowTitle"> | |||
<string>Admin Panel</string> | |||
</property> | |||
<widget class="QWidget" name="bgwidget" native="true"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>0</x> | |||
<y>0</y> | |||
<width>1200</width> | |||
<height>800</height> | |||
</rect> | |||
</property> | |||
<property name="styleSheet"> | |||
<string notr="true">QWidget#bgwidget { | |||
background-color: qlineargradient(spread: pad, x1: 0.091, y1: 0.101636, x2: 0.991379, y2: 0.977, stop: 0 rgba(30, 30, 40, 255), stop: 1 rgba(50, 50, 80, 255)); | |||
} | |||
</string> | |||
</property> | |||
<widget class="QLabel" name="labelWelcome"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>490</x> | |||
<y>110</y> | |||
<width>251</width> | |||
<height>71</height> | |||
</rect> | |||
</property> | |||
<property name="styleSheet"> | |||
<string notr="true">font: 36pt "MS Shell Dlg 2"; color:rgb(255, 255, 255)</string> | |||
</property> | |||
<property name="text"> | |||
<string>WELCOME</string> | |||
</property> | |||
<property name="alignment"> | |||
<set>Qt::AlignCenter</set> | |||
</property> | |||
</widget> | |||
<widget class="QLabel" name="labelInfo"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>420</x> | |||
<y>200</y> | |||
<width>391</width> | |||
<height>41</height> | |||
</rect> | |||
</property> | |||
<property name="styleSheet"> | |||
<string notr="true">font: 16pt "MS Shell Dlg 2";color:rgb(255, 255, 255)</string> | |||
</property> | |||
<property name="text"> | |||
<string>Sign in to your existing account</string> | |||
</property> | |||
<property name="alignment"> | |||
<set>Qt::AlignCenter</set> | |||
</property> | |||
</widget> | |||
<widget class="QPushButton" name="loginButton"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>440</x> | |||
<y>490</y> | |||
<width>341</width> | |||
<height>51</height> | |||
</rect> | |||
</property> | |||
<property name="styleSheet"> | |||
<string notr="true">border-radius:20px; | |||
background-color: rgb(170, 255, 255); | |||
font: 14pt "MS Shell Dlg 2";</string> | |||
</property> | |||
<property name="text"> | |||
<string>Log in</string> | |||
</property> | |||
</widget> | |||
<widget class="QLineEdit" name="emailfield"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>440</x> | |||
<y>290</y> | |||
<width>341</width> | |||
<height>51</height> | |||
</rect> | |||
</property> | |||
<property name="minimumSize"> | |||
<size> | |||
<width>15</width> | |||
<height>0</height> | |||
</size> | |||
</property> | |||
<property name="styleSheet"> | |||
<string notr="true">background-color:rgba(0,0,0,0); | |||
font: 12pt "MS Shell Dlg 2"; | |||
color: rgb(255, 255, 255); | |||
</string> | |||
</property> | |||
</widget> | |||
<widget class="QLineEdit" name="passwordfield"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>440</x> | |||
<y>390</y> | |||
<width>341</width> | |||
<height>51</height> | |||
</rect> | |||
</property> | |||
<property name="styleSheet"> | |||
<string notr="true">background-color:rgba(0,0,0,0); | |||
font: 12pt "MS Shell Dlg 2"; | |||
color: rgb(255, 255, 255);</string> | |||
</property> | |||
</widget> | |||
<widget class="QLabel" name="labelUsername"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>440</x> | |||
<y>270</y> | |||
<width>81</width> | |||
<height>20</height> | |||
</rect> | |||
</property> | |||
<property name="font"> | |||
<font> | |||
<family>MS Shell Dlg 2</family> | |||
<pointsize>10</pointsize> | |||
<weight>50</weight> | |||
<italic>false</italic> | |||
<bold>false</bold> | |||
</font> | |||
</property> | |||
<property name="styleSheet"> | |||
<string notr="true">font: 10pt "MS Shell Dlg 2"; | |||
color: rgb(255, 255, 255);</string> | |||
</property> | |||
<property name="text"> | |||
<string>Username</string> | |||
</property> | |||
</widget> | |||
<widget class="QLabel" name="labelPassword"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>440</x> | |||
<y>370</y> | |||
<width>81</width> | |||
<height>20</height> | |||
</rect> | |||
</property> | |||
<property name="styleSheet"> | |||
<string notr="true">font: 10pt "MS Shell Dlg 2"; | |||
color: rgb(255, 255, 255);</string> | |||
</property> | |||
<property name="text"> | |||
<string>Password</string> | |||
</property> | |||
</widget> | |||
<widget class="QLabel" name="labelError"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>440</x> | |||
<y>456</y> | |||
<width>341</width> | |||
<height>20</height> | |||
</rect> | |||
</property> | |||
<property name="styleSheet"> | |||
<string notr="true">font: 12pt "MS Shell Dlg 2"; color:red;</string> | |||
</property> | |||
<property name="text"> | |||
<string/> | |||
</property> | |||
</widget> | |||
</widget> | |||
</widget> | |||
<resources/> | |||
<connections/> | |||
</ui> |
@@ -0,0 +1,124 @@ | |||
import sys | |||
from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QPushButton, QLabel, QVBoxLayout, QWidget | |||
from PyQt5.QtMultimediaWidgets import QVideoWidget | |||
from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent | |||
from PyQt5.QtCore import QUrl | |||
import speech_recognition as sr | |||
import question | |||
import os | |||
current_directory = os.path.dirname(os.path.realpath(__file__)) | |||
main_video_path = os.path.join(current_directory, 'Friendly_new.mp4') | |||
class HospitalChatbotGUI(QMainWindow): | |||
def __init__(self): | |||
super().__init__() | |||
self.setWindowTitle("Hospital Chatbot") | |||
self.setGeometry(100, 100, 800, 600) | |||
self.central_widget = QWidget(self) | |||
self.setCentralWidget(self.central_widget) | |||
self.layout = QVBoxLayout() | |||
#self.submit_button = QPushButton("Submit", self) | |||
#self.submit_button.clicked.connect(self.get_response) | |||
#self.layout.addWidget(self.submit_button) | |||
self.speak_button = QPushButton("Speak", self) | |||
self.speak_button.clicked.connect(self.audio_to_text) | |||
self.layout.addWidget(self.speak_button) | |||
self.video_widget = QVideoWidget(self) | |||
self.layout.addWidget(self.video_widget) | |||
#self.video_widget.setFixedWidth(500) | |||
self.central_widget.setLayout(self.layout) | |||
self.media_player = QMediaPlayer() | |||
self.media_player.setVideoOutput(self.video_widget) | |||
self.media_player.mediaStatusChanged.connect(self.handle_media_status_changed) | |||
#self.sample_video_url = "/home/knight/ChatBot_UI/Friendly_new.mp4" | |||
self.sample_video_url = main_video_path | |||
self.answer_video_url = None | |||
self.play_video(self.sample_video_url) | |||
def audio_to_text(self): | |||
init_rec = sr.Recognizer() | |||
print("Let's speak!!") | |||
with sr.Microphone(3) as source: | |||
audio_data = init_rec.record(source, duration=2) | |||
print("Recognizing your text.............") | |||
text = init_rec.recognize_google(audio_data) | |||
self.get_response(text.strip()) | |||
print(text) | |||
def get_response(self,text): | |||
video_url = None | |||
print("Response Text: ",text) | |||
user_input = text.strip() | |||
lowercase_text = user_input.lower() | |||
matching_intent = [intent for intent, questions in question.intents_and_question.items() if any(q in lowercase_text for q in questions)] | |||
if matching_intent: | |||
print("Intent: ", matching_intent[0]) | |||
video_url = question.get_video_response(matching_intent[0]) | |||
else: | |||
print("No matching intent found.") | |||
if video_url: | |||
self.play_video(video_url) | |||
return | |||
matching_intent = None | |||
#self.play_video("/home/knight/ChatBot_UI/Friendly_new.mp4") | |||
self.play_video(main_video_path) | |||
def play_video(self, video_url): | |||
media_content = QMediaContent(QUrl.fromLocalFile(video_url)) | |||
self.media_player.setMedia(media_content) | |||
self.media_player.play() | |||
def handle_media_status_changed(self, status): | |||
if status == QMediaPlayer.EndOfMedia: | |||
print("Video finished playing.") | |||
#self.play_video("/home/knight/ChatBot_UI/Friendly_new.mp4") | |||
self.play_video(main_video_path) | |||
if __name__ == '__main__': | |||
app = QApplication(sys.argv) | |||
window = HospitalChatbotGUI() | |||
window.show() | |||
sys.exit(app.exec_()) |
@@ -0,0 +1,217 @@ | |||
import os | |||
current_directory = os.path.dirname(os.path.realpath(__file__)) | |||
intents_and_question = { | |||
"greet": [ | |||
"hey", | |||
"hello", | |||
"Hello?", | |||
"hello?", | |||
"hi", | |||
"hello there", | |||
"good morning", | |||
"good evening", | |||
"moin", | |||
"hey there", | |||
"let's go", | |||
"hey dude", | |||
"goodmorning", | |||
"goodevening", | |||
"good afternoon" | |||
], | |||
"appointment_booking": [ | |||
"How can I schedule an appointment", | |||
"I need to book an appointment with a doctor", | |||
"what's the procedure for booking an appointment", | |||
"hello, I'd like to schedule an appointment.", | |||
"book an appointment", | |||
"appointment", | |||
"need an appointment" | |||
], | |||
"doctor_information": [ | |||
"tell me more about dr. abc", | |||
"what's the specialty of dr. abc", | |||
"give me the contact details for dr. abc" | |||
"doctor", | |||
"contact doctor", | |||
"doctor contact", | |||
"doctor detail", | |||
"detail doctor" | |||
], | |||
"department_information": [ | |||
"which departments are available in the hospital", | |||
"can you provide details about the cardiology department", | |||
"tell me more about the pediatric department", | |||
"department", | |||
"which department", | |||
"department info" | |||
], | |||
"visiting_hours":[ | |||
"what are the visiting hours for patients", | |||
"when can I visit a patient in the hospital", | |||
"is there a specific time for visiting hours", | |||
"visiting time", | |||
"visit", | |||
"time", | |||
"time to visit", | |||
"visit time", | |||
"hospital visit", | |||
"visit hospital" | |||
], | |||
"location_and_directions":[ | |||
"how do I get to the hospital", | |||
"can you provide me with directions to your location", | |||
"where is the hospital situated", | |||
"direction", | |||
"direction hospital", | |||
"hospital direction", | |||
"location", | |||
"hospital location" | |||
], | |||
"billing_and_insurance": [ | |||
"how do I pay my medical bills", | |||
"do you accept my insurance", | |||
"what's the billing process for a hospital stay", | |||
"bills", | |||
"insurance", | |||
"pay bill", | |||
], | |||
"medical_records": [ | |||
"how can I access my medical records", | |||
"request my medical history", | |||
"I need a copy of my lab results", | |||
"medical records", | |||
"medical record", | |||
"record", | |||
"records", | |||
"record medical", | |||
"results", | |||
"lab results", | |||
"result copy", | |||
"copy result" | |||
], | |||
"emergency_services": [ | |||
"what should I do in case of a medical emergency", | |||
"how do I contact the hospital in an emergency", | |||
"tell me about your emergency services", | |||
"emergency", | |||
"emergency service" | |||
], | |||
"covid19_information": [ | |||
"what safety measures are in place due to COVID-19", | |||
"is it safe to visit the hospital during the pandemic", | |||
"do you offer COVID-19 testing or vaccinations", | |||
"covid19" | |||
], | |||
"feedback_and_complaints": [ | |||
"I want to provide feedback about my experience", | |||
"how can I file a complaint about a staff member", | |||
"share my thoughts on my recent visit", | |||
"feedback", | |||
"complaints", | |||
"complain", | |||
"share thoughts", | |||
"experiance" | |||
], | |||
"general_information": [ | |||
"tell me more about the hospital", | |||
"what services do you offer", | |||
"is there a cafeteria in the hospital", | |||
"information", | |||
"cafeteria", | |||
"services", | |||
"services offered", | |||
"offered services" | |||
] | |||
} | |||
'''video_urls = { | |||
"greet": "/home/knight/ChatBot_UI/video/greet.mp4", | |||
"appointment_booking": "/home/knight/ChatBot_UI/video/appointment_booking.mp4", | |||
"doctor_information": "/home/knight/ChatBot_UI/video/doctor_information.mp4", | |||
"department_information": "/home/knight/ChatBot_UI/video/department_information.mp4", | |||
"visiting_hours": "/home/knight/ChatBot_UI/video/visiting_hours.mp4", | |||
"location_and_directions": "/home/knight/ChatBot_UI/video/location_and_directions.mp4", | |||
"billing_and_insurance": "/home/knight/ChatBot_UI/video/billing_and_insurance.mp4", | |||
"medical_records": "/home/knight/ChatBot_UI/video/medical_records.mp4", | |||
"emergency_assistance": "/home/knight/ChatBot_UI/video/emergency_services.mp4", | |||
"covid19_information": "/home/knight/ChatBot_UI/video/covid19_information.mp4", | |||
"feedback_and_complaints": "/home/knight/ChatBot_UI/video/feedback_and_complaints.mp4", | |||
"thank_you": "/home/knight/ChatBot_UI/video/thank_you.mp4", | |||
"general_information": "/home/knight/ChatBot_UI/video/general_information.mp4" | |||
}''' | |||
video_urls = { | |||
"greet": os.path.join(current_directory, 'video', 'greet.mp4'), | |||
"appointment_booking": os.path.join(current_directory, 'video', 'appointment_booking.mp4'), | |||
"doctor_information": os.path.join(current_directory, 'video', 'doctor_information.mp4'), | |||
"department_information": os.path.join(current_directory, 'video' ,'department_information.mp4'), | |||
"visiting_hours": os.path.join(current_directory, 'video', 'visiting_hours.mp4'), | |||
"location_and_directions": os.path.join(current_directory, 'video','location_and_directions.mp4'), | |||
"billing_and_insurance": os.path.join(current_directory, 'video', 'billing_and_insurance.mp4'), | |||
"medical_records": os.path.join(current_directory, 'video', 'medical_records.mp4'), | |||
"emergency_assistance": os.path.join(current_directory, 'video','emergency_services.mp4'), | |||
"covid19_information": os.path.join(current_directory, 'video','covid19_information.mp4'), | |||
"feedback_and_complaints": os.path.join(current_directory, 'video','feedback_and_complaints.mp4'), | |||
"thank_you": os.path.join(current_directory, 'video','video/thank_you.mp4'), | |||
"general_information": os.path.join(current_directory, 'video','general_information.mp4') | |||
} | |||
def get_video_response(intent): | |||
return video_urls.get(intent) | |||
#print(get_video_response('greet')) | |||