회기 연속성과 멀티 케이스 계약을 영속화
This commit is contained in:
parent
be08c0b573
commit
72353ecd82
26 changed files with 2170 additions and 127 deletions
|
|
@ -820,6 +820,7 @@ async def evaluate_session(
|
|||
theory_mode: Optional[str] = None,
|
||||
scope: str = "session_end",
|
||||
audit_hook: Optional["LlmAuditHook"] = None,
|
||||
timeout: float | None = None,
|
||||
) -> SessionEvaluation:
|
||||
"""deep-loop 정밀 평가 — 단계전환/회기말. 전체 축어록 + 코드 집계 분포 + LLM 정성 평가.
|
||||
|
||||
|
|
@ -859,7 +860,7 @@ async def evaluate_session(
|
|||
cached = _evaluator_cache_get(cache_key)
|
||||
if cached is not None:
|
||||
return SessionEvaluation.model_validate(cached)
|
||||
resp = await generate_with_audit(engine, req, audit_hook)
|
||||
resp = await generate_with_audit(engine, req, audit_hook, timeout=timeout)
|
||||
except EngineError as e:
|
||||
base.error = f"engine_error: {e}"
|
||||
return base
|
||||
|
|
|
|||
|
|
@ -28,10 +28,18 @@ async def generate_with_audit(
|
|||
engine: EngineClient,
|
||||
request: GenerateRequest,
|
||||
audit_hook: LlmAuditHook | None,
|
||||
*,
|
||||
timeout: float | None = None,
|
||||
) -> GenerateResponse:
|
||||
"""비스트리밍 LLM 호출의 지연·토큰·비용 기록을 한 계약으로 고정한다."""
|
||||
started = time.perf_counter()
|
||||
response = await engine.generate(request)
|
||||
# deep-loop처럼 호출별 deadline이 필요한 경로가 audit 경계를 지나도 사라지지
|
||||
# 않게 한다. 기본(None)은 기존 엔진 client deadline을 그대로 쓴다.
|
||||
response = (
|
||||
await engine.generate(request, timeout=timeout)
|
||||
if timeout is not None
|
||||
else await engine.generate(request)
|
||||
)
|
||||
latency_ms = int((time.perf_counter() - started) * 1000)
|
||||
await record_llm_audit(
|
||||
audit_hook,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue