bep40 commited on
Commit
b6bce1c
·
verified ·
1 Parent(s): a1e71d5

Upload patch_models.py

Browse files
Files changed (1) hide show
  1. patch_models.py +11 -23
patch_models.py CHANGED
@@ -15,10 +15,10 @@ AVAILABLE_MODELS.extend([
15
  {"id": "deepseek-ai/DeepSeek-V4-Pro", "label": "DeepSeek V4 Pro", "provider": "huggingface", "tier": "free", "recommended": True},
16
  {"id": "deepseek-ai/DeepSeek-V4-Flash", "label": "DeepSeek V4 Flash", "provider": "huggingface", "tier": "free"},
17
  {"id": "openai/deepseek/deepseek-v4-flash", "label": "DeepSeek V4 Flash (OR)", "provider": "openrouter", "tier": "free"},
18
- {"id": "nvidia/nemotron-3-super-120b-a12b", "label": "Nemotron 3 Super 120B", "provider": "openrouter", "tier": "free"},
19
  {"id": "google/gemma-3-1b-it", "label": "Gemma 3 1B", "provider": "huggingface", "tier": "free", "recommended": True},
20
  {"id": "Qwen/Qwen3-Coder-Next", "label": "Qwen3 Coder Next", "provider": "huggingface", "tier": "free", "recommended": True},
21
- {"id": "owl-alpha", "label": "Owl Alpha", "provider": "openrouter", "tier": "free", "recommended": True},
22
  {"id": "openai/google/gemini-2.0-flash-001", "label": "Gemini 2.0 Flash", "provider": "openrouter", "tier": "free"},
23
  {"id": "openai/google/gemma-4-31b-it", "label": "Gemma 4 31B", "provider": "openrouter", "tier": "free", "recommended": True},
24
  {"id": "openai/nvidia/nemotron-3-ultra-550b-a55b", "label": "Nemotron 3 Ultra 550B", "provider": "openrouter", "tier": "free", "recommended": True},
@@ -49,24 +49,6 @@ with open(AGENT_FILE, "w") as f:
49
  with open(LLM_PARAMS_FILE) as f:
50
  llm_content = f.read()
51
 
52
- # Add OpenRouter routing before the final HF Router fallback.
53
- # Models starting with "openai/" go to OpenRouter API, NOT HF Router.
54
- # Without this patch, _resolve_llm_params would double-prefix them
55
- # (openai/openai/...) and send them to router.huggingface.co which
56
- # doesn't serve OpenRouter-only models like Laguna/Mistral/Nvidia free.
57
- openrouter_patch = '''
58
- # === PATCH: Route "openai/..." models to OpenRouter ===
59
- if normalized_model.startswith("openai/"):
60
- openrouter_key = api_key if api_key else ""
61
- return {
62
- "model": normalized_model,
63
- "api_base": "https://openrouter.ai/api/v1",
64
- "api_key": openrouter_key,
65
- }
66
- # === END PATCH ===
67
- '''
68
-
69
- # Insert after the local_model_provider check, before the HF Router fallback
70
  marker = """ if local_model_provider(normalized_model) is not None:
71
  return _resolve_local_model_params(normalized_model, reasoning_effort, strict)
72
 
@@ -76,12 +58,14 @@ replacement = """ if local_model_provider(normalized_model) is not None:
76
  return _resolve_local_model_params(normalized_model, reasoning_effort, strict)
77
 
78
  # === PATCH: Route "openai/..." models to OpenRouter ===
 
 
 
79
  if normalized_model.startswith("openai/"):
80
- openrouter_key = api_key if api_key else ""
81
  return {
82
  "model": normalized_model,
83
  "api_base": "https://openrouter.ai/api/v1",
84
- "api_key": openrouter_key,
85
  }
86
  # === END PATCH ===
87
 
@@ -103,4 +87,8 @@ except SyntaxError as e:
103
  with open(LLM_PARAMS_FILE, "w") as f:
104
  f.write(llm_content)
105
 
106
- print("✅ Backend patched successfully")
 
 
 
 
 
15
  {"id": "deepseek-ai/DeepSeek-V4-Pro", "label": "DeepSeek V4 Pro", "provider": "huggingface", "tier": "free", "recommended": True},
16
  {"id": "deepseek-ai/DeepSeek-V4-Flash", "label": "DeepSeek V4 Flash", "provider": "huggingface", "tier": "free"},
17
  {"id": "openai/deepseek/deepseek-v4-flash", "label": "DeepSeek V4 Flash (OR)", "provider": "openrouter", "tier": "free"},
18
+ {"id": "openai/nvidia/nemotron-3-super-120b-a12b", "label": "Nemotron 3 Super 120B", "provider": "openrouter", "tier": "free"},
19
  {"id": "google/gemma-3-1b-it", "label": "Gemma 3 1B", "provider": "huggingface", "tier": "free", "recommended": True},
20
  {"id": "Qwen/Qwen3-Coder-Next", "label": "Qwen3 Coder Next", "provider": "huggingface", "tier": "free", "recommended": True},
21
+ {"id": "openai/owl-alpha", "label": "Owl Alpha", "provider": "openrouter", "tier": "free", "recommended": True},
22
  {"id": "openai/google/gemini-2.0-flash-001", "label": "Gemini 2.0 Flash", "provider": "openrouter", "tier": "free"},
23
  {"id": "openai/google/gemma-4-31b-it", "label": "Gemma 4 31B", "provider": "openrouter", "tier": "free", "recommended": True},
24
  {"id": "openai/nvidia/nemotron-3-ultra-550b-a55b", "label": "Nemotron 3 Ultra 550B", "provider": "openrouter", "tier": "free", "recommended": True},
 
49
  with open(LLM_PARAMS_FILE) as f:
50
  llm_content = f.read()
51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  marker = """ if local_model_provider(normalized_model) is not None:
53
  return _resolve_local_model_params(normalized_model, reasoning_effort, strict)
54
 
 
58
  return _resolve_local_model_params(normalized_model, reasoning_effort, strict)
59
 
60
  # === PATCH: Route "openai/..." models to OpenRouter ===
61
+ # These are OpenRouter-specific models (Laguna, Nemotron free, Owl Alpha, etc.)
62
+ # that aren't served by the HF Router. LiteLLM openai/ prefix + custom api_base
63
+ # makes it send the bare model name to OpenRouter.
64
  if normalized_model.startswith("openai/"):
 
65
  return {
66
  "model": normalized_model,
67
  "api_base": "https://openrouter.ai/api/v1",
68
+ "api_key": api_key or "",
69
  }
70
  # === END PATCH ===
71
 
 
87
  with open(LLM_PARAMS_FILE, "w") as f:
88
  f.write(llm_content)
89
 
90
+ print("✅ Backend patched successfully")
91
+ print(" - AVAILABLE_MODELS: 12 new models")
92
+ print(" - Owl Alpha id: openai/owl-alpha (matches frontend modelPath)")
93
+ print(" - _resolve_llm_params: openai/ prefix → OpenRouter routing")
94
+ print(" - DEFAULT_FREE_MODEL_ID: deepseek-ai/DeepSeek-V4-Pro")