CognxSafeTrack commited on
Commit ·
75c0b4c
1
Parent(s): dcdc311
fix(ai): remove hardcoded sector examples from system prompts to prevent AI hallucinations across mismatched domains
Browse files- Dockerfile +1 -1
- apps/api/src/services/ai/index.ts +10 -25
Dockerfile
CHANGED
|
@@ -41,7 +41,7 @@ EXPOSE 7860
|
|
| 41 |
ENV PORT=7860
|
| 42 |
|
| 43 |
# Force Docker cache invalidation - bump date to trigger clean rebuild
|
| 44 |
-
ENV REBUILD_DATE="2026-03-01-
|
| 45 |
|
| 46 |
# SAFETY: Default to skipping DB push to prevent schema drift.
|
| 47 |
# Only Railway (api service) should push schema — it overrides SKIP_DB_PUSH=false in its variables.
|
|
|
|
| 41 |
ENV PORT=7860
|
| 42 |
|
| 43 |
# Force Docker cache invalidation - bump date to trigger clean rebuild
|
| 44 |
+
ENV REBUILD_DATE="2026-03-01-v12-fix-ai-hallucination"
|
| 45 |
|
| 46 |
# SAFETY: Default to skipping DB push to prevent schema drift.
|
| 47 |
# Only Railway (api service) should push schema — it overrides SKIP_DB_PUSH=false in its variables.
|
apps/api/src/services/ai/index.ts
CHANGED
|
@@ -120,25 +120,18 @@ PRAISE (Validation SPÉCIFIQUE — cite un élément RÉEL de sa réponse) :
|
|
| 120 |
❌ MAUVAIS : "Machallah, ta réponse est claire" ← trop générique, sans valeur
|
| 121 |
|
| 122 |
REPHRASE (Reformulation PROFESSIONNELLE en 20 mots max) :
|
| 123 |
-
Utilise le vocabulaire
|
| 124 |
-
|
| 125 |
-
|
| 126 |
|
| 127 |
ACTION (Conseil CONCRET adapté à son secteur ET sa région) :
|
| 128 |
-
- Si isQualified=true : Défi actionnable immédiat
|
| 129 |
-
- Si isQualified=false : Guide précisément sur CE QUI MANQUE
|
| 130 |
JAMAIS : "Essaye de préciser davantage" ← vague, inutile.
|
| 131 |
|
| 132 |
-
RÈGLES SECTORIELLES :
|
| 133 |
-
- AGRICULTURE / ÉQUIPEMENTS AGRICOLES : Parle de saisons des pluies, champs, rendements, zones rurales, forages, irrigation, engrais, stockage.
|
| 134 |
-
- RESTAURATION / TANGANA : hygiène (set-setal), gestion pertes (ñàkk), service rapide.
|
| 135 |
-
- TEXTILE / COUTURE : précision (natt), finitions, délais, relation client.
|
| 136 |
-
- TECH / DIGITAL : ROI, démo, support, adoption.
|
| 137 |
-
- COMMERCE : stock, marge bénéficiaire, fidélisation.
|
| 138 |
-
|
| 139 |
CONTRAINTES :
|
| 140 |
- LANGUE : ${userLanguage === 'WOLOF' ? 'WOLOF avec accents ñ, ë, é' : 'Français professionnel'}.
|
| 141 |
-
- ZÉRO ANGLAIS. ZÉRO HALLUCINATION. Ne cite jamais "Manga Deaf".
|
| 142 |
- FCFA pour tous les montants.
|
| 143 |
`;
|
| 144 |
|
|
@@ -191,23 +184,15 @@ ${businessContext}
|
|
| 191 |
${prevContext}
|
| 192 |
|
| 193 |
RÈGLE N°1 — EXEMPLES PERSONNALISÉS (CRITIQUE) :
|
| 194 |
-
|
| 195 |
-
|
| 196 |
-
|
| 197 |
-
→ Si c'est un restaurateur : parle de plats, de fourneaux, de clients à l'heure du déjeuner.
|
| 198 |
-
→ N'invente rien qui ne correspond pas à son secteur réel.
|
| 199 |
|
| 200 |
RÈGLE N°2 — Garde la VALEUR PÉDAGOGIQUE EXACTEMENT la même (message principal inchangé).
|
| 201 |
-
RÈGLE N°3 — STYLE : WhatsApp (gras *texte*, emojis).
|
| 202 |
RÈGLE N°4 — LANGUE : ${userLanguage === 'WOLOF' ? 'WOLOF (avec ñ, ë, é)' : 'Français'}. JAMAIS ANGLAIS.
|
| 203 |
RÈGLE N°5 — Ne jamais citer "Manga Deaf".
|
| 204 |
|
| 205 |
-
ADAPTATION SECTORIELLE :
|
| 206 |
-
- AGRICULTURE / ÉQUIPEMENTS : saisons des pluies, champs, rendements, zones rurales, forages, irrigation.
|
| 207 |
-
- RESTAURATION / TANGANA : plats, hygiène, service rapide, gestion des restes (ñàkk).
|
| 208 |
-
- TEXTILE / COUTURE : précision, finitions, délais client.
|
| 209 |
-
- COMMERCE GÉNÉRAL : stock, marge, fidélisation, livraison.
|
| 210 |
-
|
| 211 |
LEÇON À ADAPTER :
|
| 212 |
${lessonText}
|
| 213 |
|
|
|
|
| 120 |
❌ MAUVAIS : "Machallah, ta réponse est claire" ← trop générique, sans valeur
|
| 121 |
|
| 122 |
REPHRASE (Reformulation PROFESSIONNELLE en 20 mots max) :
|
| 123 |
+
Utilise IMPÉRATIVEMENT le vocabulaire du véritable secteur de l'étudiant (${activityLabel}).
|
| 124 |
+
Ne parle d'agriculture QUE s'il est dans l'agriculture. Ne parle de restauration QUE s'il est dans la restauration.
|
| 125 |
+
Montre comment un entrepreneur confirmé de SON domaine dirait la même chose.
|
| 126 |
|
| 127 |
ACTION (Conseil CONCRET adapté à son secteur ET sa région) :
|
| 128 |
+
- Si isQualified=true : Défi actionnable immédiat.
|
| 129 |
+
- Si isQualified=false : Guide précisément sur CE QUI MANQUE.
|
| 130 |
JAMAIS : "Essaye de préciser davantage" ← vague, inutile.
|
| 131 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 132 |
CONTRAINTES :
|
| 133 |
- LANGUE : ${userLanguage === 'WOLOF' ? 'WOLOF avec accents ñ, ë, é' : 'Français professionnel'}.
|
| 134 |
+
- ZÉRO ANGLAIS. ZÉRO HALLUCINATION EN DEHORS DU SECTEUR ($activityLabel). Ne cite jamais "Manga Deaf".
|
| 135 |
- FCFA pour tous les montants.
|
| 136 |
`;
|
| 137 |
|
|
|
|
| 184 |
${prevContext}
|
| 185 |
|
| 186 |
RÈGLE N°1 — EXEMPLES PERSONNALISÉS (CRITIQUE) :
|
| 187 |
+
Adapte TOUS les exemples de la leçon pour qu'ils soient directement liés à la véritable activité de l'étudiant (${activityLabel}).
|
| 188 |
+
Si l'étudiant vend des produits physiques, cite ces produits. S'il offre un service, parle de ce service.
|
| 189 |
+
N'invente RIEN qui soit en dehors de son domaine réel. INTERDICTION D'UTILISER DES EXEMPLES AGRICOLES SI L'ÉTUDIANT N'EST PAS DANS L'AGRICULTURE. N'utilise que son vrai domaine.
|
|
|
|
|
|
|
| 190 |
|
| 191 |
RÈGLE N°2 — Garde la VALEUR PÉDAGOGIQUE EXACTEMENT la même (message principal inchangé).
|
| 192 |
+
RÈGLE N°3 — STYLE : WhatsApp (gras *texte*, emojis). Sois direct, dynamique et encourageant.
|
| 193 |
RÈGLE N°4 — LANGUE : ${userLanguage === 'WOLOF' ? 'WOLOF (avec ñ, ë, é)' : 'Français'}. JAMAIS ANGLAIS.
|
| 194 |
RÈGLE N°5 — Ne jamais citer "Manga Deaf".
|
| 195 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 196 |
LEÇON À ADAPTER :
|
| 197 |
${lessonText}
|
| 198 |
|