From d53fcc2b36ac76a04fb6027b32e19a4e49b671d0 Mon Sep 17 00:00:00 2001 From: hyungi Date: Thu, 2 Jul 2026 13:30:04 +0900 Subject: [PATCH] =?UTF-8?q?feat(search):=20MAX=5FRERANK=5FINPUT=20env=20?= =?UTF-8?q?=EC=A1=B0=EC=A0=95=20=EA=B0=80=EB=8A=A5=ED=99=94=20=E2=80=94=20?= =?UTF-8?q?2=EB=85=B8=EB=93=9C=20=EB=A6=AC=EB=9E=AD=ED=81=AC=20=EC=A7=80?= =?UTF-8?q?=EC=97=B0=20=EB=8C=80=EC=9D=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 맥미니 llama.cpp 리랭크는 후보 수 선형(실측 50=0.60s/200=1.89s) — NAS 배포에서 MAX_RERANK_INPUT=50 으로 tail 지연 축소. 기본 200 = 현행 무회귀. Co-Authored-By: Claude Fable 5 --- app/services/search/rerank_service.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/services/search/rerank_service.py b/app/services/search/rerank_service.py index 877926a..706fe79 100644 --- a/app/services/search/rerank_service.py +++ b/app/services/search/rerank_service.py @@ -17,6 +17,7 @@ snippet 생성: from __future__ import annotations import asyncio +import os import re from typing import TYPE_CHECKING @@ -33,8 +34,11 @@ logger = setup_logger("rerank") # 동시 rerank 호출 제한 (GPU saturation 방지) RERANK_SEMAPHORE = asyncio.Semaphore(2) -# rerank input 크기 제한 (latency / VRAM hard cap) -MAX_RERANK_INPUT = 200 +# rerank input 크기 제한 (latency / VRAM hard cap). +# 2노드 이관(2026-07-02): env MAX_RERANK_INPUT 로 조정 가능 — 맥미니 llama.cpp 리랭크는 +# 후보 수에 선형(NAS발 실측 50=0.60s / 100=0.95s / 200=1.89s)이라 NAS 배포는 50 권장. +# 기본 200 = 현행(GPU TEI) 무회귀. +MAX_RERANK_INPUT = int(os.getenv("MAX_RERANK_INPUT", "200")) MAX_CHUNKS_PER_DOC = 2 # Soft timeout (초)