Checkpoint: Correction de la détection automatique du champ Abonnement pour utiliser uniquement les mots-clés configurés dans subscriptionKeywords au lieu des mots-clés génériques codés en dur

This commit is contained in:
Manus
2026-02-11 10:41:59 -05:00
parent 4535cd6bdf
commit 7cb2fee76e
2 changed files with 14 additions and 1 deletions

View File

@@ -136,6 +136,12 @@ export async function extractInvoicesWithMistral(
}
}
// Build subscription detection instruction
let subscriptionInstruction = "- isSubscription: false (par défaut)";
if (customKeywords?.subscription && customKeywords.subscription.trim()) {
subscriptionInstruction = `- isSubscription: true UNIQUEMENT si la facture contient l'un de ces mots-clés exacts: ${customKeywords.subscription}, false sinon`;
}
// Prepare prompt for LLM
const prompt = `Tu es un expert en extraction de données de factures. Analyse ce document PDF et extrais toutes les factures qu'il contient.
@@ -149,7 +155,7 @@ Pour chaque facture trouvée, extrais les informations suivantes:
- pageRange: Plage de pages de cette facture (ex: "1-2" ou "5")
- qualityScore: Score de qualité de l'extraction de 0 à 100 (100 = toutes les informations trouvées et claires)
- extractedText: Texte complet extrait de la facture (tout le texte visible sur les pages de cette facture)
- isSubscription: true si la facture contient des mots-clés liés à un abonnement (abonnement, subscription, mensuel, annuel, recurring, etc.), false sinon${keywordsHint}
${subscriptionInstruction}${keywordsHint}
Réponds UNIQUEMENT avec un objet JSON valide au format suivant:
{

View File

@@ -259,3 +259,10 @@
- [x] Permettre l'édition directe du champ Abonnement dans la liste (select OUI/NON)
- [x] Ajouter isSubscription dans le schéma de validation update
- [ ] Tester la détection automatique avec une nouvelle facture importée
## Bug : Détection incorrecte du champ Abonnement
- [x] Analyser le prompt Mistral pour comprendre pourquoi isSubscription est à OUI
- [x] Identifier le problème: mots-clés génériques codés en dur au lieu d'utiliser subscriptionKeywords
- [x] Corriger le prompt pour utiliser UNIQUEMENT les mots-clés configurés dans subscriptionKeywords
- [x] Ajouter logique: si subscriptionKeywords est vide, isSubscription = false par défaut
- [ ] Tester avec une nouvelle facture importée et le mot-clé "BLOB" (ne devrait pas détecter)