Daviddolor commited on
Commit
c287182
·
1 Parent(s): 7ad30ee

Limit HF providers to Groq/Cerebras/OpenRouter and enable traceback logging

Browse files
Files changed (2) hide show
  1. gateway.py +22 -7
  2. patch_llm_route.py +61 -0
gateway.py CHANGED
@@ -295,12 +295,24 @@ def llm_route(messages, model=None, tools=None, tool_choice=None):
295
  ]
296
  else:
297
  providers = [
298
- ("ollama", lambda: {"role":"assistant","content": llm_ollama(messages, model=model or "dolor3v_coder:turbo")}),
299
- ("groq", lambda: llm_groq(messages, model=model or "llama-3.3-70b-versatile")),
300
- ("cerebras", lambda: {"role":"assistant","content": llm_cerebras(messages, model=model or "gpt-oss-120b")}),
301
- ("glm", lambda: {"role":"assistant","content": llm_glm(messages, model=model or "glm-4.7-flash")}),
302
- ("openrouter", lambda: llm_openrouter(messages, model=model or "nvidia/nemotron-super-49b-v1:free")),
303
- ("openai", lambda: {"role":"assistant","content": llm_openai(messages, model=model or "gpt-4o-mini")}),
 
 
 
 
 
 
 
 
 
 
 
 
304
  ]
305
 
306
  for name, fn in providers:
@@ -315,7 +327,10 @@ def llm_route(messages, model=None, tools=None, tool_choice=None):
315
  emit_event("custom", {"provider":name,"tokens":len(content_preview)}, "mcp-llm")
316
  return message, name
317
  except Exception as e:
318
- log(f"LLM {name} failed: {e}")
 
 
 
319
  continue
320
  return {"role":"assistant","content":"All LLM providers failed"}, "none"
321
 
 
295
  ]
296
  else:
297
  providers = [
298
+ ("groq", lambda: llm_groq(
299
+ messages,
300
+ model=model or "llama-3.3-70b-versatile"
301
+ )),
302
+ ("cerebras", lambda: {
303
+ "role":"assistant",
304
+ "content": llm_cerebras(
305
+ messages,
306
+ model=model or "gpt-oss-120b"
307
+ )
308
+ }),
309
+ ("openrouter", lambda: llm_openrouter(
310
+ messages,
311
+ model=model or os.getenv(
312
+ "OPENROUTER_MODEL",
313
+ "qwen/qwen3-coder:free"
314
+ )
315
+ )),
316
  ]
317
 
318
  for name, fn in providers:
 
327
  emit_event("custom", {"provider":name,"tokens":len(content_preview)}, "mcp-llm")
328
  return message, name
329
  except Exception as e:
330
+ import traceback
331
+ traceback.print_exc()
332
+ print(f"[LLM ERROR] {name}: {repr(e)}")
333
+ log(f"LLM {name} failed: {repr(e)}")
334
  continue
335
  return {"role":"assistant","content":"All LLM providers failed"}, "none"
336
 
patch_llm_route.py ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pathlib import Path
2
+
3
+ p = Path("gateway.py")
4
+ text = p.read_text()
5
+
6
+ old = ''' else:
7
+ providers = [
8
+ ("ollama", lambda: {"role":"assistant","content": llm_ollama(messages, model=model or "dolor3v_coder:turbo")}),
9
+ ("groq", lambda: llm_groq(messages, model=model or "llama-3.3-70b-versatile")),
10
+ ("cerebras", lambda: {"role":"assistant","content": llm_cerebras(messages, model=model or "gpt-oss-120b")}),
11
+ ("glm", lambda: {"role":"assistant","content": llm_glm(messages, model=model or "glm-4.7-flash")}),
12
+ ("openrouter", lambda: llm_openrouter(messages, model=model or "nvidia/nemotron-super-49b-v1:free")),
13
+ ("openai", lambda: {"role":"assistant","content": llm_openai(messages, model=model or "gpt-4o-mini")}),
14
+ ]'''
15
+
16
+ new = ''' else:
17
+ providers = [
18
+ ("groq", lambda: llm_groq(
19
+ messages,
20
+ model=model or "llama-3.3-70b-versatile"
21
+ )),
22
+ ("cerebras", lambda: {
23
+ "role":"assistant",
24
+ "content": llm_cerebras(
25
+ messages,
26
+ model=model or "gpt-oss-120b"
27
+ )
28
+ }),
29
+ ("openrouter", lambda: llm_openrouter(
30
+ messages,
31
+ model=model or os.getenv(
32
+ "OPENROUTER_MODEL",
33
+ "qwen/qwen3-coder:free"
34
+ )
35
+ )),
36
+ ]'''
37
+
38
+ if old not in text:
39
+ raise SystemExit("Provider block not found.")
40
+
41
+ text = text.replace(old, new)
42
+
43
+ old2 = ''' except Exception as e:
44
+ log(f"LLM {name} failed: {e}")
45
+ continue'''
46
+
47
+ new2 = ''' except Exception as e:
48
+ import traceback
49
+ traceback.print_exc()
50
+ print(f"[LLM ERROR] {name}: {repr(e)}")
51
+ log(f"LLM {name} failed: {repr(e)}")
52
+ continue'''
53
+
54
+ if old2 not in text:
55
+ raise SystemExit("Exception block not found.")
56
+
57
+ text = text.replace(old2, new2)
58
+
59
+ p.write_text(text)
60
+
61
+ print("gateway.py patched successfully.")