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:
+21
-5
@@ -17,6 +17,9 @@ logger = logging.getLogger(__name__)
|
||||
_HERMES_LOADED = False
|
||||
_cli = None
|
||||
|
||||
# Model override voor relay (leeg = default uit config)
|
||||
MODEL_OVERRIDE = "qwen3.7-plus"
|
||||
|
||||
|
||||
def _ensure_hermes_loaded():
|
||||
"""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
|
||||
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
|
||||
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
|
||||
os.environ['HERMES_YOLO_MODE'] = '1'
|
||||
@@ -89,12 +96,16 @@ def call_hermes(prompt):
|
||||
|
||||
start = time.time()
|
||||
|
||||
# ── Agent initialiseren (eenmalig, cached) ──
|
||||
# ── Agent initialiseren met model override ──
|
||||
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:
|
||||
_cli.agent = None
|
||||
init_ok = _cli._init_agent(
|
||||
model_override=turn_route['model'],
|
||||
model_override=model_override,
|
||||
runtime_override=turn_route['runtime'],
|
||||
request_overrides=turn_route.get('request_overrides'),
|
||||
)
|
||||
@@ -126,6 +137,11 @@ def call_hermes(prompt):
|
||||
return "⚠️ Hermes error: " + str(e)
|
||||
|
||||
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))
|
||||
|
||||
return result
|
||||
|
||||
Reference in New Issue
Block a user