회기 연속성과 멀티 케이스 계약을 영속화

This commit is contained in:
Yun Chan 2026-09-01 11:45:16 +09:00
parent be08c0b573
commit 72353ecd82
26 changed files with 2170 additions and 127 deletions

View file

@ -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,