Skip to content

Commit

Permalink
brms optimisation, bug correction in answer check
Browse files Browse the repository at this point in the history
  • Loading branch information
sebDtSci committed Aug 21, 2024
1 parent 8e7f431 commit 2a8b402
Show file tree
Hide file tree
Showing 7 changed files with 56 additions and 329 deletions.
259 changes: 28 additions & 231 deletions app.log

Large diffs are not rendered by default.

Binary file modified data/db/chroma.sqlite3
Binary file not shown.
3 changes: 2 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ torch
python-docx
PyMuPDF
watchdog
scikit-learn
scikit-learn
shortterm_memory
15 changes: 11 additions & 4 deletions src/brmsAPI/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,19 @@ def call_api(self):
print("Response:", response.json())

def test_arguments(self):
probl = []
if self.payload["contract"]["clients"][0]["nom"] is None:
print("Il manque le nom du client pour répondre")
if self.payload["contract"]["clients"][0]["age"] is None:
print("Il manque l'âge du client pour répondre")
probl.append("Il manque le nom du client pour répondre")
if self.payload["contract"]["clients"][0]["age"] == 0 or self.payload["contract"]["clients"][0]["age"] is None:
probl.append("Il manque l'âge du client pour répondre")
if self.payload["contract"]["clients"][0]["adresse"] is None:
print("Il manque l'adresse du client pour répondre")
probl.append("Il manque l'adresse du client pour répondre")
if len(probl) != 0:
erreur = True
else:
erreur = False
print(probl, erreur)
return probl, erreur

if __name__ == "__main__":
# appelle de l'url de ma machine
Expand Down
14 changes: 10 additions & 4 deletions src/brmsAPI/brmsCall.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,19 @@ def brmsCall(user_input:str)->str:
elements2 = re.sub(r'[^a-zA-Z0-9;]', '', elements["response"])
elements3 = [elem.strip() for elem in elements2.split(';') if elem.strip()]
print("2: ------------------------------------------------>>>>>>------------------------------------------------>>>>>>",elements3)
payload = pc.payload_construction(nom=elements3[0], prenom=elements3[1], age=elements3[2], adresse=elements3[3])
# payload = pc.payload_construction(nom=elements3[0], prenom=elements3[1], age=elements3[2], adresse=elements3[3])
payload = pc.payload_construction(
nom=elements3[0] if len(elements3) > 0 and elements3[0] else None,
prenom=elements3[1] if len(elements3) > 1 and elements3[1] else None,
age=elements3[2] if len(elements3) > 2 and elements3[2] else None,
adresse=elements3[3] if len(elements3) > 3 and elements3[3] else None
)

api = ap.ApiCall(url="http://10.21.8.3:9090/DecisionService/rest/v1/assurance_deploy/OD_assurance/", payload=payload, headers={'Content-Type': 'application/json'})
test_completion = api.test_arguments()
test_completion, erreur = api.test_arguments()
print("3: ------------------------------------------------>>>>>>", test_completion)
if test_completion is not None:
sentence = "Tu dois indiquer à ton interlocuteur que tu ne peux pas répondre pour la raison suivante : ", test_completion, "Il dois ipérativement te donner touteslesinformations dans l'ordre si possible"
if erreur:
sentence = "Tu dois indiquer à ton interlocuteur que tu ne peux pas répondre pour la raison suivante : ", test_completion, "Il dois ipérativement te donner toutes les informations dans l'ordre si possible. \n\n Répond uniquement que tu ne peux pas répondre sans ces informations primordiales! Aide toi des raisons données pour expliquer. \n\n Il doit impérativement te redonner toutes les informations ! Nom, Prénom, Age, Adresse "
solve = False
else:
sentence = "D'après les informations que tu as renseignée le prix de l'assurance calculer par le model est : ", api.call_api()
Expand Down
15 changes: 5 additions & 10 deletions src/generateS.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
import streamlit as st
import os

from src.memory import ChatbotMemory, memory_counter, compressed_memory
from shortterm_memory.ChatbotMemory import ChatbotMemory
# from Memory import ChatbotMemory


from src.rag.new_chromadb import rag_pipeline

#BRMS integration
Expand Down Expand Up @@ -58,6 +61,7 @@ def ans(self, user_input="l'assurance de manon qui à 34 ans et qui habite à pa
"""
# Initialisation
self.assurance_phase = False
solve_statue = False
self.running = True
self.response = ""
print("MEm de conversation_history : ",self.memory.get_memory())
Expand Down Expand Up @@ -109,13 +113,4 @@ def ans(self, user_input="l'assurance de manon qui à 34 ans et qui habite à pa

self.memory.update_memory(user_input, self.response)

# TODO: effectuer cette tache en async pour eviter qu'elle ne ralentisse tout le processus
if memory_counter(self.memory.get_memory()) > 500 and self.suma_on_run == False:
self.suma_on_run = True
print("Conversation_history : ",self.memory.get_memory())
self.memory = ChatbotMemory(compressed_memory(self.memory.get_memory()))
print("Compressed conversation_history : ",self.memory.get_memory())
self.suma_on_run = False
logging.info("Memory compressed.")

self.running = False
79 changes: 0 additions & 79 deletions src/memory.py

This file was deleted.

0 comments on commit 2a8b402

Please sign in to comment.