somratpro commited on
Commit
baeabbc
·
1 Parent(s): 6283613

refactor: decouple model provider configuration from model names to enable automatic provider inference by Hermes

Browse files
Files changed (1) hide show
  1. start.sh +14 -6
start.sh CHANGED
@@ -146,10 +146,16 @@ case "$MODEL_PREFIX" in
146
  openai|openai-codex)
147
  [ -n "$LLM_API_KEY" ] && export OPENAI_API_KEY="${OPENAI_API_KEY:-$LLM_API_KEY}"
148
  ;;
149
- google|gemini)
150
  [ -n "$LLM_API_KEY" ] && export GOOGLE_API_KEY="${GOOGLE_API_KEY:-$LLM_API_KEY}" GEMINI_API_KEY="${GEMINI_API_KEY:-$LLM_API_KEY}"
151
- [ "$PROVIDER_FOR_CONFIG" = "auto" ] && PROVIDER_FOR_CONFIG="gemini"
152
- MODEL_FOR_CONFIG="${MODEL_INPUT#*/}"
 
 
 
 
 
 
153
  ;;
154
  deepseek)
155
  [ -n "$LLM_API_KEY" ] && export DEEPSEEK_API_KEY="${DEEPSEEK_API_KEY:-$LLM_API_KEY}"
@@ -242,9 +248,11 @@ provider_name = os.environ.get("PROVIDER_FOR_CONFIG", "").strip()
242
 
243
  if model_name:
244
  model = config.setdefault("model", {})
245
- model.setdefault("default", model_name)
246
- if provider_name:
247
- model.setdefault("provider", provider_name)
 
 
248
  else:
249
  model = config.get("model", {})
250
  print("No LLM_MODEL/HERMES_MODEL set; leaving Hermes model config unchanged.")
 
146
  openai|openai-codex)
147
  [ -n "$LLM_API_KEY" ] && export OPENAI_API_KEY="${OPENAI_API_KEY:-$LLM_API_KEY}"
148
  ;;
149
+ google)
150
  [ -n "$LLM_API_KEY" ] && export GOOGLE_API_KEY="${GOOGLE_API_KEY:-$LLM_API_KEY}" GEMINI_API_KEY="${GEMINI_API_KEY:-$LLM_API_KEY}"
151
+ # Keep full "google/model-name" Hermes infers provider from prefix.
152
+ # Don't set PROVIDER_FOR_CONFIG; a separate provider field conflicts.
153
+ MODEL_FOR_CONFIG="$MODEL_INPUT"
154
+ ;;
155
+ gemini)
156
+ [ -n "$LLM_API_KEY" ] && export GOOGLE_API_KEY="${GOOGLE_API_KEY:-$LLM_API_KEY}" GEMINI_API_KEY="${GEMINI_API_KEY:-$LLM_API_KEY}"
157
+ # Normalize "gemini/model" → "google/model" for Hermes.
158
+ MODEL_FOR_CONFIG="google/${MODEL_INPUT#gemini/}"
159
  ;;
160
  deepseek)
161
  [ -n "$LLM_API_KEY" ] && export DEEPSEEK_API_KEY="${DEEPSEEK_API_KEY:-$LLM_API_KEY}"
 
248
 
249
  if model_name:
250
  model = config.setdefault("model", {})
251
+ model["default"] = model_name # always from env — deploy-time setting
252
+ if provider_name and provider_name != "auto":
253
+ model["provider"] = provider_name # explicit provider (openrouter, huggingface, custom…)
254
+ else:
255
+ model.pop("provider", None) # let Hermes infer from model-name prefix
256
  else:
257
  model = config.get("model", {})
258
  print("No LLM_MODEL/HERMES_MODEL set; leaving Hermes model config unchanged.")