fix(gateway): troncamento documenti rerank (RERANK_MAX_DOC_CHARS=800) — evita 500 batch-size e costi oltre il ctx

This commit is contained in:
enne2
2026-09-08 12:12:38 +02:00
parent 20766de540
commit 78a93ee771
3 changed files with 19 additions and 0 deletions
+4
View File
@@ -21,6 +21,7 @@ import metrics
from config import (
RERANK_CHAIN,
RERANK_ENABLED,
RERANK_MAX_DOC_CHARS,
RERANK_MODEL,
RERANK_RETRY_COOLDOWN_S,
RERANK_TIMEOUT_MS,
@@ -121,6 +122,9 @@ async def rerank(query: str, docs: list[str]) -> Optional[tuple[list[float], str
chain = _get_chain()
if not chain or not docs:
return None
# Troncamento dei documenti: limita il costo di inferenza (i cross-encoder
# scala con la lunghezza della coppia query+doc) e evita input oltre il ctx.
docs = [d[:RERANK_MAX_DOC_CHARS] for d in docs]
live, all_down = live_nodes()
if not live:
# tutti in cooldown: ritenta comunque il primo (meglio di un fallimento immediato)