ops(ai)!: 맥미니 생성 모델 Qwen3.6-27B-6bit 전환 + 생성 LLM 홀드 해제
B안(사용자 2026-06-11): Gemma 26B-A4B → Qwen3.6-27B-6bit 풀교체. - config.yaml triage/primary model 교체 + dense 감속 반영 timeout 상향(30→120/180→300) - held_stages [] (홀드 해제 — 적체 자연 드레인, deep_summary 는 primary 복귀) - eid deep 모드 = mac-mini-default 재지정(맥북 백지화). llm_gate '예외 없이 gate' invariant 에 따라 deep 도 alias 조건으로 자동 게이트 (구 무게이트 = 맥북 별 endpoint 예외였음) - deep probe 실패 reason = router_unreachable 로 정정 + 테스트 동기화 잔여(별 PR): ask 표면 qwen-macbook 옵션/백엔드 클래스/처리보드 맥북 카드 정리 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -126,11 +126,11 @@ async def test_deep_conversational_no_sources(client, monkeypatch):
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_deep_probe_fail_503(client, monkeypatch):
|
||||
"""probe 실패(router 미도달) → 첫 바이트 전 503 macbook_unavailable."""
|
||||
"""probe 실패(router 미도달) → 첫 바이트 전 503 router_unreachable."""
|
||||
monkeypatch.setattr(eid_chat, "_probe_router_reachable", _async_false)
|
||||
r = await client.post("/api/eid/chat", json=_DEEP)
|
||||
assert r.status_code == 503
|
||||
assert r.json()["error_reason"] == "macbook_unavailable"
|
||||
assert r.json()["error_reason"] == "router_unreachable"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
||||
@@ -104,7 +104,7 @@ async def test_anthropic_router_url_blocked(monkeypatch):
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_deep_mode_alias_and_sse_line_rewrite(monkeypatch):
|
||||
"""deep → qwen-macbook alias, system 은 messages[0] 단일 주입, 라인 단위 정화 중계."""
|
||||
"""deep → mac-mini-default alias (맥북 백지화 2026-06-11), system 은 messages[0] 단일 주입, 라인 단위 정화 중계."""
|
||||
seen: dict = {}
|
||||
|
||||
def handler(request: httpx.Request) -> httpx.Response:
|
||||
@@ -139,7 +139,7 @@ async def test_deep_mode_alias_and_sse_line_rewrite(monkeypatch):
|
||||
]
|
||||
assert seen["url"].endswith("/v1/chat/completions")
|
||||
body = seen["json"]
|
||||
assert body["model"] == "qwen-macbook"
|
||||
assert body["model"] == "mac-mini-default"
|
||||
assert body["stream"] is True
|
||||
assert body["max_tokens"] == 2048
|
||||
assert body["temperature"] == 0.4
|
||||
@@ -202,7 +202,7 @@ async def test_prestream_503_maps_reason(monkeypatch):
|
||||
with pytest.raises(BackendUnavailable) as ei:
|
||||
await anext(stream)
|
||||
assert ei.value.reason == "macbook_unavailable"
|
||||
assert ei.value.backend_name == "qwen-macbook"
|
||||
assert ei.value.backend_name == "mac-mini-default"
|
||||
finally:
|
||||
await c.close()
|
||||
|
||||
@@ -253,7 +253,7 @@ async def test_prestream_400_raises_valueerror_failloud(monkeypatch):
|
||||
c = EidAIClient()
|
||||
try:
|
||||
stream = c.call_stream("deep", _MSG, "sys")
|
||||
with pytest.raises(ValueError, match="router rejected alias='qwen-macbook'"):
|
||||
with pytest.raises(ValueError, match="router rejected alias='mac-mini-default'"):
|
||||
await anext(stream)
|
||||
finally:
|
||||
await c.close()
|
||||
@@ -290,7 +290,7 @@ async def test_stream_deadline_exceeded(monkeypatch):
|
||||
async for _ in stream:
|
||||
pass
|
||||
assert ei.value.reason == "stream_deadline_exceeded"
|
||||
assert ei.value.backend_name == "qwen-macbook"
|
||||
assert ei.value.backend_name == "mac-mini-default"
|
||||
finally:
|
||||
await c.close()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user