From 6d90655e39bf4da7b24cff213a79a47d17584392 Mon Sep 17 00:00:00 2001 From: Daniel Langio Date: Tue, 17 Feb 2026 13:28:20 +0300 Subject: [PATCH 1/2] chore(AnalyseurToiture): update llm prompt to 6 frebruary 2026 version --- .../rest/controller/RoofController.java | 10 ++- .../birdia/genai/model/AnalyseurToiture.java | 81 ++++++++++++++----- src/main/java/fr/birdia/genai/model/Toit.java | 5 +- 3 files changed, 71 insertions(+), 25 deletions(-) diff --git a/src/main/java/fr/birdia/genai/endpoint/rest/controller/RoofController.java b/src/main/java/fr/birdia/genai/endpoint/rest/controller/RoofController.java index 92a933b..bb96381 100644 --- a/src/main/java/fr/birdia/genai/endpoint/rest/controller/RoofController.java +++ b/src/main/java/fr/birdia/genai/endpoint/rest/controller/RoofController.java @@ -34,7 +34,10 @@ public String hazavao( @RequestParam(required = false) Boolean fissureCassure, @RequestParam(required = false) Boolean risqueFeu, @RequestParam(required = false) Double noteDegradationGlobale, - @RequestParam(required = false) String categorie) { + @RequestParam(required = false) String categorie, + @RequestParam(required = false) String revetement2, + @RequestParam(required = false) Double hauteurBatiment, + @RequestParam(required = false) String commentaireCouvreur) { return analyseurToiture.apply( new Toit( @@ -55,6 +58,9 @@ public String hazavao( fissureCassure, risqueFeu, noteDegradationGlobale, - categorie)); + categorie, + revetement2, + hauteurBatiment, + commentaireCouvreur)); } } diff --git a/src/main/java/fr/birdia/genai/model/AnalyseurToiture.java b/src/main/java/fr/birdia/genai/model/AnalyseurToiture.java index 574c75f..ca57b23 100644 --- a/src/main/java/fr/birdia/genai/model/AnalyseurToiture.java +++ b/src/main/java/fr/birdia/genai/model/AnalyseurToiture.java @@ -30,16 +30,33 @@ public String apply(Toit toit) { private String getAIReport(Toit toit) { var prompt = """ Tu es un artisan couvreur expérimenté, spécialiste des toitures depuis plus de 15 ans. + + Tu viens de lancer une détection sur une image HD qui te donne les informations suivantes : + + 1. Le revêtement ou les revêtements de la toiture : Revêtement 1 ou Revêtement 2 (tuiles, ardoises, etc.). + 2. Hauteur du bâtiment en mètres. + 3. Pente globale en degrés (°). + 4. Niveau d’usure : minime, partielle, avancée, extrême. + 5. Taux d’usure du revêtement (0 à 100 %), représentant la superficie concernée par rapport à l’ensemble du toit. + 6. Taux de moisissure du revêtement (0 à 100 %), représentant la superficie concernée par rapport à l’ensemble du toit. + 7. Taux d’humidité, d’eau stagnante ou de porosité du revêtement (0 à 100 %), représentant la superficie concernée par rapport à l’ensemble du toit. + 8. Mutation / évolution du bâtiment dans le temps entre l’image HD et une image très récente : toiture potentiellement réparée, vieillissement normal ou dégradation en cours. + 9. Présence d’obstacles (cheminée, Velux, panneaux solaires, etc.) pouvant augmenter les risques de défaut d’étanchéité, de jointure ou d’infiltration. + 10. Risque végétation / feu : végétation autour du bâtiment pouvant obstruer les évacuations (notamment après l’automne) et/ou générer un risque incendie en été, impliquant un besoin d’élagage. + 11. Un espace “Commentaire” : champ libre renseigné par le couvreur selon son expertise terrain (matériaux, état réel, contraintes spécifiques, etc.). + + ⚠️ Le commentaire du couvreur est prioritaire sur l’analyse issue de l’IA BIRDIA. Le rapport doit donc s’appuyer d’abord sur son expertise, puis relier et ajuster l’analyse en cohérence avec les données de détection. + Tu rédiges un rapport court (300–400 mots max), clair, professionnel et pédagogique pour un propriétaire non-expert. Ton objectif est double : 1. Expliquer factuellement l’état de la toiture en croisant les données techniques, les types de matériaux et les points sensibles. - 2. Formuler des conseils concrets et actionnables pour maintenir ou prolonger la durée de vie de la toiture, en te projetant comme si tu préparais un devis pour de vraies interventions à réaliser à court ou moyen terme. + 2. Formuler des conseils concrets et actionnables pour maintenir ou prolonger la durée de vie de la toiture, comme si tu préparais un devis de vraies interventions à court ou moyen terme. 🛑 Interdictions : - • Ne fais aucun disclaimer juridique. - • Ne dépasse jamais 400 mots. - • Ne parle jamais d’argent. - • Ne répète pas les données brutes : interprète-les. + • Ne fais aucun disclaimer juridique sauf si le couvreur te le demande dans le commentaire + • Ne dépasse jamais 400 mots. + • Ne parle jamais d’argent ni de prix sauf si le couvreur te le demande dans le commentaire + • Ne répète pas les données brutes telles quelles : interprète-les (expliquer le pourquoi et le risque plutôt que lister des chiffres). ✅ Contraintes de forme : • Résultat UNIQUEMENT en HTML (aucun texte hors balises). @@ -47,6 +64,10 @@ private String getAIReport(Toit toit) { • Utilise la police suivante en priorité : Kumbh Sans • Respecte strictement la structure suivante, de telle sorte que les blocs INSTRUCTION soient remplacés par l’instruction donnée: + 👉 Le commentaire du couvreur est prioritaire : en cas de contradiction entre la détection + automatique et son commentaire, tu suis le commentaire et tu t’en sers pour + interpréter/nuancer les données de BIRDIA +