feat: relay met qwen3.7-plus voor snellere responses

- Model override: qwen3.7-plus (4.5x meer requests/uur dan max)
- Toolsets disabled bij model override (DeepSeek compat fix)
- NoneType crash fix voor error paths
- Originele qwen3.7-max blijft actief voor andere chats
This commit is contained in:
2026-06-08 19:48:31 +02:00
parent 75311845ee
commit 1780eed406
+21 -5
View File
@@ -17,6 +17,9 @@ logger = logging.getLogger(__name__)
_HERMES_LOADED = False _HERMES_LOADED = False
_cli = None _cli = None
# Model override voor relay (leeg = default uit config)
MODEL_OVERRIDE = "qwen3.7-plus"
def _ensure_hermes_loaded(): def _ensure_hermes_loaded():
"""Laad Hermes eenmalig bij eerste gebruik — dit is het zware werk.""" """Laad Hermes eenmalig bij eerste gebruik — dit is het zware werk."""
@@ -45,9 +48,13 @@ def _ensure_hermes_loaded():
from hermes_cli.config import load_config from hermes_cli.config import load_config
config = load_config() config = load_config()
# Resolve toolsets (zelfde als 'cli' platform) # Resolve toolsets (geen tools voor snelle relay)
from hermes_cli.tools_config import _get_platform_tools from hermes_cli.tools_config import _get_platform_tools
toolsets = sorted(_get_platform_tools(config, 'cli')) if MODEL_OVERRIDE:
# Geen tools laden bij model override (DeepSeek heeft incompatible tool schema)
toolsets = []
else:
toolsets = sorted(_get_platform_tools(config, 'cli'))
# YOLO mode + interactive mode # YOLO mode + interactive mode
os.environ['HERMES_YOLO_MODE'] = '1' os.environ['HERMES_YOLO_MODE'] = '1'
@@ -89,12 +96,16 @@ def call_hermes(prompt):
start = time.time() start = time.time()
# ── Agent initialiseren (eenmalig, cached) ── # ── Agent initialiseren met model override ──
turn_route = _cli._resolve_turn_agent_config(full_prompt) turn_route = _cli._resolve_turn_agent_config(full_prompt)
# Override model als MODEL_OVERRIDE is ingesteld
model_override = MODEL_OVERRIDE if MODEL_OVERRIDE else turn_route['model']
if turn_route['signature'] != _cli._active_agent_route_signature: if turn_route['signature'] != _cli._active_agent_route_signature:
_cli.agent = None _cli.agent = None
init_ok = _cli._init_agent( init_ok = _cli._init_agent(
model_override=turn_route['model'], model_override=model_override,
runtime_override=turn_route['runtime'], runtime_override=turn_route['runtime'],
request_overrides=turn_route.get('request_overrides'), request_overrides=turn_route.get('request_overrides'),
) )
@@ -126,6 +137,11 @@ def call_hermes(prompt):
return "⚠️ Hermes error: " + str(e) return "⚠️ Hermes error: " + str(e)
elapsed = time.time() - start elapsed = time.time() - start
# Fallback als Hermes None teruggeeft (error path)
if result is None:
logger.warning("Hermes returned None — possible error during query")
return "⚠️ Geen antwoord van Hermes. Probeer opnieuw."
logger.info("Hermes responded in %.1fs (%d chars)", elapsed, len(result)) logger.info("Hermes responded in %.1fs (%d chars)", elapsed, len(result))
return result return result