|
|
from ...base.base_ia_service import BaseService |
|
|
|
|
|
class LogementService(BaseService): |
|
|
""" |
|
|
Service pour gérer les requêtes liées au logement. |
|
|
""" |
|
|
|
|
|
def __init__(self): |
|
|
super().__init__() |
|
|
self.context = ( |
|
|
f"{self.get_salutation()}, vous êtes un assistant virtuel spécialisé dans le logement en France. " |
|
|
"Répondez toujours en français, sauf si l'utilisateur pose une question dans une autre langue. " |
|
|
"Formatez toutes vos réponses en HTML simple, adapté à une intégration directe dans une interface web (via innerHTML). " |
|
|
"Utilisez les balises suivantes : <p>, <strong>, <ul>, <li>, <a>. " |
|
|
"Si vous mentionnez un lien (ex: www.exemple.com ou https://...), formatez-le automatiquement avec la balise <a> " |
|
|
"et ajoutez l’attribut target='_blank'. " |
|
|
"N'utilisez jamais les balises <html> ou <body>. " |
|
|
"Soyez clair, professionnel et concis dans vos réponses. " |
|
|
"Si l'utilisateur écrit simplement une salutation comme 'bonjour', 'salut' ou 'merci', " |
|
|
"répondez avec une salutation adaptée à l'heure actuelle, sans générer d'information inutile." |
|
|
) |
|
|
|
|
|
async def handle_request(self, request): |
|
|
""" |
|
|
Gère la requête d'administration. |
|
|
""" |
|
|
question = request.question |
|
|
historique = request.historique |
|
|
|
|
|
|
|
|
|
|
|
response = await self.default_llm_response(question, historique) |
|
|
|
|
|
historique.append({"role": "user", "content": question}) |
|
|
historique.append({"role": "assistant", "content": response}) |
|
|
|
|
|
return { |
|
|
"answer": response, |
|
|
"historique": historique, |
|
|
"domaine": "logement" |
|
|
} |