서버 안정화와 평가 모델 라우팅 보강
This commit is contained in:
parent
0cdbf8e4fe
commit
0eb7d925ed
10 changed files with 179 additions and 39 deletions
|
|
@ -13,7 +13,7 @@ MASTERPLAN §2.3 (평가 AI 2-tier 루프):
|
|||
후보로 제시하고 *근거(rationale)* 를 요구한다. LLM 출력은 enum 으로 안전 파싱(미지값은 버림).
|
||||
- intent_deviation('의도와 다른 부분')은 1급 시민 → SupervisorComment(critique) 형식과 정합:
|
||||
{dimension, expected, actual, severity}.
|
||||
- engine_client.generate(tier='feedback', structured_schema=...) 로 LLM 평가. 엔진 장애·파싱
|
||||
- engine_client.generate(structured_schema=...) 로 LLM 평가. 엔진 장애·파싱
|
||||
실패는 *비치명적* — orchestrator 의 eval_hook 가 None 으로 흡수(상담 루프를 막지 않음).
|
||||
- 결과는 pydantic 모델로 반환. orchestrator 가 주입형으로 부르는 async 함수
|
||||
evaluate_turn(...) / evaluate_session(...) 을 export.
|
||||
|
|
@ -31,6 +31,7 @@ from typing import TYPE_CHECKING, Any, Optional
|
|||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
from ..config import settings
|
||||
from ..engine_client import (
|
||||
EngineClient,
|
||||
EngineError,
|
||||
|
|
@ -67,6 +68,11 @@ _APPROPRIATENESS = ("pos", "warn", "neutral")
|
|||
_SEVERITY = ("minor", "moderate", "major")
|
||||
|
||||
|
||||
def _configured_model(value: str | None) -> str | None:
|
||||
model = (value or "").strip()
|
||||
return model or None
|
||||
|
||||
|
||||
def _parse_technique(raw: str) -> Optional[Technique]:
|
||||
s = (raw or "").strip()
|
||||
return _TECHNIQUE_BY_KO.get(s) or _TECHNIQUE_BY_CODE.get(s)
|
||||
|
|
@ -641,6 +647,7 @@ async def evaluate_turn(
|
|||
ai_role="evaluator",
|
||||
messages=build_fast_messages(ctx, client_reply),
|
||||
structured_schema=_fast_schema(),
|
||||
model=_configured_model(settings.evaluator_fast_model),
|
||||
max_tokens=900,
|
||||
temperature=0.2, # 평가는 보수적·재현적으로
|
||||
session_id=ctx.session_id,
|
||||
|
|
@ -717,6 +724,7 @@ async def evaluate_session(
|
|||
distribution=distribution,
|
||||
),
|
||||
structured_schema=_deep_schema(),
|
||||
model=_configured_model(settings.evaluator_deep_model),
|
||||
max_tokens=2048,
|
||||
temperature=0.3,
|
||||
session_id=session_id,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue