feat(backend): 이미지 요청만 vision 모델로 — OPENCODE_VISION_MODEL
로컬(OpenRouter)은 게이트웨이를 안 거쳐서 백엔드가 OpenCode prompt 에 model{providerID,modelID} 를 실어 분기.
기본 openrouter/google/gemma-4-31b-it(고객사 605 와 같은 모델). 텍스트는 기본 GLM 5.2.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
6d7723a533
commit
113d97c77c
@@ -85,7 +85,12 @@ def _prompt_payload(req: dict) -> dict:
|
||||
for i, img in enumerate(req["images"]):
|
||||
ext = img["mediaType"].split("/")[1]
|
||||
parts.append({"type": "file", "mime": img["mediaType"], "filename": f"image-{i + 1}.{ext}", "url": img["data"]})
|
||||
return {"agent": settings.OPENCODE_AGENT, "parts": parts}
|
||||
payload: dict = {"agent": settings.OPENCODE_AGENT, "parts": parts}
|
||||
# 이미지 있으면 vision 모델로 — 텍스트는 기본 모델(빠름). 고객사 FabriX 는 게이트웨이가 따로 분기.
|
||||
if req["images"] and settings.OPENCODE_VISION_MODEL and "/" in settings.OPENCODE_VISION_MODEL:
|
||||
provider, model = settings.OPENCODE_VISION_MODEL.split("/", 1)
|
||||
payload["model"] = {"providerID": provider, "modelID": model}
|
||||
return payload
|
||||
|
||||
|
||||
# ── OpenCode 이벤트 → 우리 이벤트 ────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user