chore: relay v2 cleanup — remove f-strings, add version/mode to health endpoint
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
"""
|
"""
|
||||||
Hermes Relay — Flask bridge tussen Node-RED en Hermes Agent (v2.0).
|
Hermes Relay v2 — Flask bridge tussen Node-RED en Hermes Agent.
|
||||||
|
|
||||||
Gebruikt een warme Hermes agent (directe Python import) in plaats van
|
Gebruikt een warme Hermes agent (directe Python import) in plaats van
|
||||||
subprocess per query. Dit bespaart ~3-5 seconden startup tijd per query.
|
subprocess per query. Dit bespaart ~3-5 seconden startup tijd per query.
|
||||||
@@ -45,7 +45,7 @@ HERMES_BIN = "/usr/local/bin/hermes" # nog steeds nodig voor hermes send
|
|||||||
from hermes_client import call_hermes as _hermes_query
|
from hermes_client import call_hermes as _hermes_query
|
||||||
|
|
||||||
|
|
||||||
def send_telegram(text: str) -> bool:
|
def send_telegram(text):
|
||||||
"""Stuur bericht via hermes send subprocess."""
|
"""Stuur bericht via hermes send subprocess."""
|
||||||
import subprocess
|
import subprocess
|
||||||
try:
|
try:
|
||||||
@@ -57,7 +57,7 @@ def send_telegram(text: str) -> bool:
|
|||||||
)
|
)
|
||||||
return result.returncode == 0
|
return result.returncode == 0
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Telegram send failed: {e}")
|
logger.error("Telegram send failed: %s", e)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
@@ -78,16 +78,16 @@ def ask():
|
|||||||
if not prompt:
|
if not prompt:
|
||||||
return jsonify({"status": "error", "message": "No payload received"}), 400
|
return jsonify({"status": "error", "message": "No payload received"}), 400
|
||||||
|
|
||||||
logger.info(f"Received: {prompt[:100]}...")
|
logger.info("Received: %s...", prompt[:100])
|
||||||
|
|
||||||
# Roep Hermes aan (direct, geen subprocess)
|
# Roep Hermes aan (direct, geen subprocess)
|
||||||
answer = _hermes_query(prompt)
|
answer = _hermes_query(prompt)
|
||||||
elapsed = round(time.time() - start, 1)
|
elapsed = round(time.time() - start, 1)
|
||||||
|
|
||||||
logger.info(f"Answer ({elapsed}s): {answer[:200]}...")
|
logger.info("Answer (%.1fs): %s...", elapsed, answer[:200])
|
||||||
|
|
||||||
# Stuur ook naar Telegram
|
# Stuur ook naar Telegram
|
||||||
tg_msg = f"🤖 Hermes Relay\n\nVraag: {prompt}\n\nAntwoord: {answer}"
|
tg_msg = "🤖 Hermes Relay\n\nVraag: " + prompt + "\n\nAntwoord: " + answer
|
||||||
tg_sent = send_telegram(tg_msg)
|
tg_sent = send_telegram(tg_msg)
|
||||||
|
|
||||||
return jsonify({
|
return jsonify({
|
||||||
@@ -104,6 +104,8 @@ def health():
|
|||||||
return jsonify({
|
return jsonify({
|
||||||
"status": "ok",
|
"status": "ok",
|
||||||
"service": "hermes-relay",
|
"service": "hermes-relay",
|
||||||
|
"version": "2.0",
|
||||||
|
"mode": "python-import",
|
||||||
"model": MODEL or "(default)",
|
"model": MODEL or "(default)",
|
||||||
"prompt_prefix": PROMPT_PREFIX or "(none)",
|
"prompt_prefix": PROMPT_PREFIX or "(none)",
|
||||||
})
|
})
|
||||||
|
|||||||
+7
-7
@@ -67,13 +67,13 @@ def _ensure_hermes_loaded():
|
|||||||
|
|
||||||
elapsed = time.time() - start
|
elapsed = time.time() - start
|
||||||
logger.info(
|
logger.info(
|
||||||
f"Hermes loaded in {elapsed:.2f}s "
|
"Hermes loaded in %.2fs (toolsets: %s)",
|
||||||
f"(toolsets: {toolsets})"
|
elapsed, toolsets
|
||||||
)
|
)
|
||||||
_HERMES_LOADED = True
|
_HERMES_LOADED = True
|
||||||
|
|
||||||
|
|
||||||
def call_hermes(prompt: str) -> str:
|
def call_hermes(prompt):
|
||||||
"""
|
"""
|
||||||
Roep Hermes aan — hergebruikt een warme agent.
|
Roep Hermes aan — hergebruikt een warme agent.
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ def call_hermes(prompt: str) -> str:
|
|||||||
|
|
||||||
# Prefix (zoals /fast)
|
# Prefix (zoals /fast)
|
||||||
prefix = os.environ.get('HERMES_RELAY_PREFIX', '/fast')
|
prefix = os.environ.get('HERMES_RELAY_PREFIX', '/fast')
|
||||||
full_prompt = f"{prefix} {prompt}".strip() if prefix else prompt
|
full_prompt = (prefix + " " + prompt).strip() if prefix else prompt
|
||||||
|
|
||||||
start = time.time()
|
start = time.time()
|
||||||
|
|
||||||
@@ -122,10 +122,10 @@ def call_hermes(prompt: str) -> str:
|
|||||||
logger.warning("Hermes riep sys.exit() aan tijdens query")
|
logger.warning("Hermes riep sys.exit() aan tijdens query")
|
||||||
result = stdout_capture.getvalue().strip()
|
result = stdout_capture.getvalue().strip()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Hermes error: {e}", exc_info=True)
|
logger.error("Hermes error: %s", e, exc_info=True)
|
||||||
return f"⚠️ Hermes error: {e}"
|
return "⚠️ Hermes error: " + str(e)
|
||||||
|
|
||||||
elapsed = time.time() - start
|
elapsed = time.time() - start
|
||||||
logger.info(f"Hermes responded in {elapsed:.1f}s ({len(result)} chars)")
|
logger.info("Hermes responded in %.1fs (%d chars)", elapsed, len(result))
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|||||||
Reference in New Issue
Block a user