feat(fimi): Fundament Counter-Disinformation-Match (Embedding + LLM-Verifikation)

Zweistufiger Abgleich von Monitor-Artikeln gegen den EUvsDisinfo-
Falschbehauptungsbestand, vollstaendig im Monitor (kein Vigil-Call):

- services/embeddings.py: SentenceTransformer-Singleton (paraphrase-
  multilingual-MiniLM-L12-v2), Modell-Cache mit Vigil geteilt.
- fimi_claims-Tabelle + scripts/import_fimi_claims.py: Einmal-/Sync-Import
  der 19.629 EUvsDisinfo-Claims inkl. Embedding-BLOB und Case-URL.
- services/fimi_matcher.py: Stufe 1 Embedding-Vorfilter (numpy-Matrix im RAM,
  Kosinus), Stufe 2 Haiku-Verifikation (verbreitet vs. berichtet/widerlegt),
  speichert nur bestaetigte Verbreitungen + woertliches Zitat.
- article_fimi_matches-Tabelle + fimi_checked_at-Marker auf articles.
- requirements.txt: torch, sentence-transformers, transformers, numpy.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Claude Code
2026-06-14 09:23:14 +00:00
Ursprung e20b3de0fa
Commit 1b3d6dbd57
5 geänderte Dateien mit 664 neuen und 0 gelöschten Zeilen

Datei anzeigen

@@ -23,3 +23,10 @@ pdfplumber>=0.11
pytesseract>=0.3
pdf2image>=1.17
Pillow>=10.0
# FIMI / Counter-Disinformation: Embedding-Match gegen EUvsDisinfo-Falschbehauptungen
# (services/embeddings.py, services/fimi_matcher.py). Modell-Cache wird mit Vigil
# geteilt (~/.cache/huggingface). Versionen wie Vigil-venv fuer Kompatibilitaet.
torch==2.12.0
sentence-transformers==3.4.1
transformers==4.57.6
numpy==2.4.5