dsh: add GLM-5v to model picker; image-attach routes to selected vision model (direct, no ffmpeg)
This commit is contained in:
22
dsh/app.py
22
dsh/app.py
@@ -272,17 +272,20 @@ async def chat(message: Annotated[str, Form()],
|
||||
session["model"] = model
|
||||
hist = session["messages"]
|
||||
hist.append({"role": "user", "content": message})
|
||||
if use_vision:
|
||||
sel = session.get("model") or ""
|
||||
use_multimodal = use_vision or (sel in VISION_OVERRIDE_MODELS)
|
||||
if use_multimodal:
|
||||
base = VISION_BASE
|
||||
key = VISION_KEY
|
||||
mm_model = sel if (sel in VISION_OVERRIDE_MODELS) else VISION_MODEL
|
||||
content = [{"type": "text", "text": message or ("Describe this image." if use_vision else "")}]
|
||||
if use_vision:
|
||||
content.append({"type": "image_url", "image_url": {"url": image}})
|
||||
payload = {
|
||||
"model": VISION_MODEL,
|
||||
"model": mm_model,
|
||||
"messages": [
|
||||
{"role": "system", "content": SYSTEM_PROMPT},
|
||||
{"role": "user", "content": [
|
||||
{"type": "text", "text": message or "Describe this image."},
|
||||
{"type": "image_url", "image_url": {"url": image}},
|
||||
]},
|
||||
{"role": "user", "content": content},
|
||||
],
|
||||
"stream": True,
|
||||
"temperature": 0.4,
|
||||
@@ -290,7 +293,7 @@ async def chat(message: Annotated[str, Form()],
|
||||
else:
|
||||
base = LLM_BASE
|
||||
key = LLM_KEY
|
||||
active_model = session.get("model") or LLM_MODEL
|
||||
active_model = sel or LLM_MODEL
|
||||
if active_model not in MODEL_CHOICES:
|
||||
active_model = LLM_MODEL
|
||||
payload = {
|
||||
@@ -404,12 +407,15 @@ async def generate_image(prompt: Annotated[str, Form()]) -> dict:
|
||||
|
||||
MODEL_CHOICES = ["opencode-go/deepseek-v4-flash",
|
||||
"deepseek/deepseek-v4-flash",
|
||||
"deepseek/deepseek-v4-pro"]
|
||||
"deepseek/deepseek-v4-pro",
|
||||
"z-ai/glm-5v-turbo"]
|
||||
MODEL_LABELS = {
|
||||
"opencode-go/deepseek-v4-flash": "Chat · opencode-go flash",
|
||||
"deepseek/deepseek-v4-flash": "Reasoning · deepseek flash",
|
||||
"deepseek/deepseek-v4-pro": "Coding · deepseek pro",
|
||||
"z-ai/glm-5v-turbo": "Multimodal · GLM vision",
|
||||
}
|
||||
VISION_OVERRIDE_MODELS = {"z-ai/glm-5v-turbo"}
|
||||
|
||||
|
||||
@app.get("/api/models")
|
||||
|
||||
Reference in New Issue
Block a user