PascalZhan's picture
Synchronisation Frontend DracolIA QA
d72e3a5
raw
history blame
1.98 kB
from Model.IA import IA
from Services.Service_Chat import Service_Chat
from Services.Service_Chat_Message import Service_Chat_Message
from Exceptions.UserNotConnectedException import UserNotConnectedException
from Exceptions.ModelNotSelectedException import ModelNotSelectedException
class Service_IA:
def __init__(self):
pass
def generate_responses(self, user_question, user_id, chat_id, user_is_connected, file_content, have_file, model):
try:
if user_is_connected == False:
raise UserNotConnectedException("User not connected")
serviceChat = Service_Chat()
serviceChatMessage = Service_Chat_Message()
ia = IA()
ia_response_json = {}
ia_response_json["chat_id"] = chat_id
ia_response_json["user_question"] = user_question
ia_response = ia.generate_responses(user_question, file_content, have_file, model)
ia_response_json["ia_response"] = ia_response
if chat_id == None:
chat_title = self.title_chat(user_question)
new_chat_id = serviceChat.create_chat(user_id, chat_title, file_content, user_is_connected, model)
ia_response_json["chat_id"] = new_chat_id
ia_response_json["chat_title"] = chat_title
chat_id = new_chat_id
else:
serviceChat.update_chat_file_content(user_id, chat_id, file_content, user_is_connected)
print("serviceChat.update_chat_file_content in Service_IA.py")
serviceChatMessage.add_user_chat_message(chat_id, user_question, user_is_connected)
serviceChatMessage.add_ia_chat_message(chat_id, str(ia_response))
except Exception as e:
raise e
return ia_response_json
def title_chat(self, chat_title):
chat_title = chat_title[:19]
chat_title += "..."
return chat_title