Checkpoint: Filtre de pertinence strict avant insertion en base : seuls les articles jugés pertinents (iaRelevant=true) sont insérés dans veille_items et aap_items. Les articles rejetés sont loggés et comptés dans skippedItems. Prompt IA mis à jour avec la formulation exacte de l'utilisateur (expert ESMS, 5 secteurs, liste noire explicite, principe "doute = false"). 21 tests passés, 0 erreur TypeScript.
This commit is contained in:
@@ -376,10 +376,15 @@ async function processFeed(feed: RssFeed): Promise<FetchResult> {
|
||||
const typeVeille = (aiResult.typeVeille ?? feed.defaultTypeVeille ?? "informationnelle") as
|
||||
"reglementaire" | "concurrentielle" | "technologique" | "informationnelle";
|
||||
|
||||
// ── Filtre de pertinence : ne pas insérer les articles non pertinents ──────
|
||||
if (!aiResult.relevant) {
|
||||
console.log(`[RSS] Article rejeté (non pertinent) : "${title.substring(0, 80)}" — ${aiResult.reason}`);
|
||||
result.skippedItems++;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Générer le résumé IA uniquement pour les articles pertinents
|
||||
const iaResume = aiResult.relevant
|
||||
? await generateSummary(title, description)
|
||||
: null;
|
||||
const iaResume = await generateSummary(title, description);
|
||||
|
||||
try {
|
||||
// Essayer d'insérer
|
||||
@@ -444,10 +449,15 @@ async function processFeed(feed: RssFeed): Promise<FetchResult> {
|
||||
const categorie = (feed.defaultCategorieAap ?? "Autre") as
|
||||
"Handicap" | "PA" | "Enfance" | "Précarité" | "Sanitaire" | "Autre";
|
||||
|
||||
// Générer le résumé IA uniquement pour les articles pertinents
|
||||
const iaResume = aiResult.relevant
|
||||
? await generateSummary(title, description)
|
||||
: null;
|
||||
// ── Filtre de pertinence : ne pas insérer les AAP non pertinents ─────────
|
||||
if (!aiResult.relevant) {
|
||||
console.log(`[RSS] AAP rejeté (non pertinent) : "${title.substring(0, 80)}" — ${aiResult.reason}`);
|
||||
result.skippedItems++;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Générer le résumé IA pour les AAP pertinents
|
||||
const iaResume = await generateSummary(title, description);
|
||||
|
||||
try {
|
||||
await db.insert(aapItems).values({
|
||||
|
||||
Reference in New Issue
Block a user