Promote develop → main (2026-05-21 19:21 UTC) #31
@@ -566,7 +566,10 @@ class AnalyzerAgent:
|
|||||||
}
|
}
|
||||||
filtered = [a for i, a in enumerate(articles, 1) if i in relevant_set]
|
filtered = [a for i, a in enumerate(articles, 1) if i in relevant_set]
|
||||||
|
|
||||||
rejected = len(articles) - len(filtered)
|
rejected_articles = [
|
||||||
|
(idx, a) for idx, a in enumerate(articles, 1) if idx not in relevant_set
|
||||||
|
]
|
||||||
|
rejected = len(rejected_articles)
|
||||||
if not filtered and articles:
|
if not filtered and articles:
|
||||||
logger.warning(
|
logger.warning(
|
||||||
f"Topic-Filter hat ALLE {len(articles)} Artikel verworfen — "
|
f"Topic-Filter hat ALLE {len(articles)} Artikel verworfen — "
|
||||||
@@ -578,6 +581,14 @@ class AnalyzerAgent:
|
|||||||
f"Topic-Filter: {len(filtered)}/{len(articles)} Artikel thematisch relevant "
|
f"Topic-Filter: {len(filtered)}/{len(articles)} Artikel thematisch relevant "
|
||||||
f"({rejected} verworfen)"
|
f"({rejected} verworfen)"
|
||||||
)
|
)
|
||||||
|
for idx, a in rejected_articles:
|
||||||
|
src = a.get("source", "Unbekannt")
|
||||||
|
hl = (a.get("headline_de") or a.get("headline") or "").strip()
|
||||||
|
hl_en = (a.get("headline_en_for_topic") or "").strip()
|
||||||
|
if hl_en and hl_en.lower() != hl.lower():
|
||||||
|
logger.info("Topic-Filter REJECT [%d] %s | %s | EN: %s", idx, src, hl[:120], hl_en[:120])
|
||||||
|
else:
|
||||||
|
logger.info("Topic-Filter REJECT [%d] %s | %s", idx, src, hl[:120])
|
||||||
return filtered, usage
|
return filtered, usage
|
||||||
|
|
||||||
async def generate_latest_developments(
|
async def generate_latest_developments(
|
||||||
|
|||||||
@@ -233,7 +233,7 @@ async def translate_articles_batch(
|
|||||||
# sie wird auch dann gemacht, wenn der nachgelagerte Volltext-Translator
|
# sie wird auch dann gemacht, wenn der nachgelagerte Volltext-Translator
|
||||||
# deaktiviert ist (Pflicht für korrektes Topic-Filtering, sehr kleine Kosten).
|
# deaktiviert ist (Pflicht für korrektes Topic-Filtering, sehr kleine Kosten).
|
||||||
|
|
||||||
_TOPIC_TRANSLATE_CONTENT_MAX = 240
|
_TOPIC_TRANSLATE_CONTENT_MAX = 500
|
||||||
|
|
||||||
|
|
||||||
def _needs_pretopic_translate(article: dict) -> bool:
|
def _needs_pretopic_translate(article: dict) -> bool:
|
||||||
|
|||||||
In neuem Issue referenzieren
Einen Benutzer sperren