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>
33 Zeilen
862 B
Plaintext
33 Zeilen
862 B
Plaintext
fastapi==0.115.6
|
|
uvicorn[standard]==0.34.0
|
|
python-jose[cryptography]
|
|
bcrypt
|
|
aiosqlite
|
|
feedparser
|
|
httpx
|
|
apscheduler==3.10.4
|
|
websockets
|
|
python-multipart
|
|
aiosmtplib
|
|
geonamescache>=2.0
|
|
telethon
|
|
# X/Twitter-Scraper (feeds/x_parser.py)
|
|
twscrape @ git+https://github.com/vladkens/twscrape.git@206f0942fe41149da28530399f7c772ec00be17a
|
|
# Bericht-Export (PDF via WeasyPrint + DOCX via python-docx)
|
|
Jinja2>=3.1
|
|
weasyprint>=68.0
|
|
python-docx>=1.2
|
|
pikepdf>=9.0
|
|
# PDF-Quellen (Ingestion)
|
|
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
|