dsh: pin models to reliable OmniRoute providers (chat=opencode-go flash, reasoning=deepseek flash, coding=deepseek pro) + friendly labels
This commit is contained in:
15
dsh/app.py
15
dsh/app.py
@@ -34,7 +34,7 @@ BASE_DIR = Path(__file__).resolve().parent
|
|||||||
USER_NAME = os.getenv("DSH_USER", "user")
|
USER_NAME = os.getenv("DSH_USER", "user")
|
||||||
DEFAULT_SLOT = os.getenv("DSH_SLOT", "Welcome to DeepSeek Harness")
|
DEFAULT_SLOT = os.getenv("DSH_SLOT", "Welcome to DeepSeek Harness")
|
||||||
LLM_BASE = os.getenv("DSH_LLM_BASE", "http://192.168.20.13:20129/v1")
|
LLM_BASE = os.getenv("DSH_LLM_BASE", "http://192.168.20.13:20129/v1")
|
||||||
LLM_MODEL = os.getenv("DSH_LLM_MODEL", "auto/best-fast")
|
LLM_MODEL = os.getenv("DSH_LLM_MODEL", "opencode-go/deepseek-v4-flash")
|
||||||
LLM_KEY = os.getenv("DSH_LLM_KEY", "")
|
LLM_KEY = os.getenv("DSH_LLM_KEY", "")
|
||||||
SYSTEM_PROMPT = os.getenv(
|
SYSTEM_PROMPT = os.getenv(
|
||||||
"DSH_SYSTEM_PROMPT",
|
"DSH_SYSTEM_PROMPT",
|
||||||
@@ -327,13 +327,20 @@ async def generate_image(prompt: Annotated[str, Form()]) -> dict:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
MODEL_CHOICES = ["auto/best-chat", "auto/best-fast",
|
MODEL_CHOICES = ["opencode-go/deepseek-v4-flash",
|
||||||
"auto/best-coding", "auto/best-vision"]
|
"deepseek/deepseek-v4-flash",
|
||||||
|
"deepseek/deepseek-v4-pro"]
|
||||||
|
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",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@app.get("/api/models")
|
@app.get("/api/models")
|
||||||
async def models_list() -> dict:
|
async def models_list() -> dict:
|
||||||
return {"ok": True, "default": LLM_MODEL, "current": MODEL_CHOICES}
|
return {"ok": True, "default": LLM_MODEL, "current": MODEL_CHOICES,
|
||||||
|
"labels": MODEL_LABELS}
|
||||||
|
|
||||||
|
|
||||||
@app.get("/api/sessions")
|
@app.get("/api/sessions")
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ x-dsh-common: &common
|
|||||||
- /tmp
|
- /tmp
|
||||||
environment: &env-base
|
environment: &env-base
|
||||||
DSH_LLM_BASE: http://192.168.20.13:20129/v1
|
DSH_LLM_BASE: http://192.168.20.13:20129/v1
|
||||||
DSH_LLM_MODEL: auto/best-fast
|
DSH_LLM_MODEL: opencode-go/deepseek-v4-flash
|
||||||
DSH_HISTORY_DIR: /data
|
DSH_HISTORY_DIR: /data
|
||||||
DSH_VISION_KEY: ${DSH_VISION_KEY:-}
|
DSH_VISION_KEY: ${DSH_VISION_KEY:-}
|
||||||
DSH_VISION_MODEL: openai/gpt-5
|
DSH_VISION_MODEL: openai/gpt-5
|
||||||
|
|||||||
@@ -137,7 +137,7 @@
|
|||||||
try {
|
try {
|
||||||
const d = await (await fetch('/api/models')).json();
|
const d = await (await fetch('/api/models')).json();
|
||||||
(d.current || []).forEach(m => {
|
(d.current || []).forEach(m => {
|
||||||
const o = document.createElement('option'); o.value = m; o.textContent = m;
|
const o = document.createElement('option'); o.value = m; o.textContent = (d.labels && d.labels[m]) || m;
|
||||||
if (m === d.default) o.selected = true;
|
if (m === d.default) o.selected = true;
|
||||||
modelSel.appendChild(o);
|
modelSel.appendChild(o);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user