feat(topic-filter): Pre-Topic-Headline-Übersetzung für fremdsprachige Quellen
Der Topic-Filter (Haiku) hat bisher fremdsprachige Headlines (CJK, Arabisch, Hebräisch, Kyrillisch) konservativ verworfen, weil er die Sicherheitsregel "im Zweifel NICHT relevant" auf jeden Text anwandte, den er nicht klar lesen konnte. Bei Lage 96 (Verfassungsänderung Japan) landeten so 79 von 87 Kandidaten im Papierkorb, darunter alle ja-Quellen mit Kanji-Headlines. Lösung: ein eigener kleiner Haiku-Batch-Call vor dem Topic-Filter übersetzt die Headlines (+ erste 240 Zeichen Content) fremdsprachiger Artikel ins Englische und hängt sie als article["headline_en_for_topic"] / "content_en_for_topic" an. Der Topic-Filter zeigt sie zusätzlich zum Original und beurteilt damit ja/zh/ko/ar/he/ru/fa-Artikel fair. - agents/translator.py: neue Funktion translate_headlines_for_topic_filter, unabhängig vom TRANSLATOR_ENABLED-Flag (Pflicht für korrekten Topic-Filter). - agents/analyzer.py: filter_relevant_articles zeigt Übersetzungen mit an; Prompt-Regel erweitert. - agents/orchestrator.py: Aufruf direkt vor dem Topic-Filter-Schritt. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -1139,6 +1139,25 @@ class AgentOrchestrator:
|
||||
await _pipe_start("relevance")
|
||||
_candidates_before_topic = len(new_candidates)
|
||||
|
||||
# --- Pre-Topic-Übersetzung: fremdsprachige Headlines ins Englische ---
|
||||
# Damit der nachgelagerte Topic-Filter (Haiku) auch CJK/Arabisch/
|
||||
# Hebräisch/Kyrillisch-Headlines fair beurteilen kann statt sie aus
|
||||
# Sicherheit zu verwerfen.
|
||||
if new_candidates:
|
||||
try:
|
||||
from agents.translator import translate_headlines_for_topic_filter
|
||||
_pt_count, _pt_usage = await translate_headlines_for_topic_filter(new_candidates)
|
||||
if _pt_usage:
|
||||
usage_acc.add(_pt_usage)
|
||||
if _pt_count:
|
||||
logger.info(
|
||||
f"Pre-Topic-Translate: {_pt_count} fremdsprachige Headlines übersetzt"
|
||||
)
|
||||
except Exception as e:
|
||||
logger.warning(
|
||||
f"Pre-Topic-Translate fehlgeschlagen (Pipeline laeuft weiter): {e}"
|
||||
)
|
||||
|
||||
# --- Semantischer Topic-Filter (Haiku) ---
|
||||
# Wirft Artikel raus, die zwar Keyword-Treffer hatten, aber das Kernthema
|
||||
# der Lage nicht inhaltlich behandeln. Bei Fehler Fallback auf alle Kandidaten.
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren