fix: pass user_id from .dspy to reasoning engine, remove hardcoded model

- reasoning_submit.dspy: pass user_id from await get_user() to hermes_reason_and_execute
- hermes_reason_and_execute: accept user_id parameter
- reason_and_execute: accept user_id parameter (removed ServerEnv.get_current_user fallback)
- _llm_call: remove hardcoded model=qwen3-max, let llm_chat use default_model from harnessed_agent_config
This commit is contained in:
yumoqing 2026-05-07 18:02:33 +08:00
parent c164914738
commit 9ac531bdf0
2 changed files with 7 additions and 15 deletions

View File

@ -254,18 +254,16 @@ class HermesReasoningEngine:
async def _llm_call(self, messages: List[Dict[str, str]], config: Dict[str, Any],
**extra) -> Dict[str, Any]:
"""Call LLM via harnessed_agent's llm_chat."""
model = config.get('model_name', 'qwen3-max')
temperature = float(config.get('temperature', 0.7))
max_tokens = int(config.get('max_output_tokens', 4096))
# Use harnessed_agent's llm_chat if available
env = ServerEnv()
if hasattr(env, 'llm_chat'):
info(f"Calling llm_chat: model={model}, temp={temperature}, max_tokens={max_tokens}")
info(f"Calling llm_chat: temp={temperature}, max_tokens={max_tokens}")
try:
result = await env.llm_chat(
messages=messages,
model=model,
temperature=temperature,
max_tokens=max_tokens,
**extra,
@ -423,16 +421,9 @@ class HermesReasoningEngine:
"""
start_time = time.time()
session_id = str(uuid.uuid4())
user_id = "anonymous"
# Try to get real user ID
try:
env = ServerEnv()
if hasattr(env, 'harnessed_get_current_user'):
user_result = await env.harnessed_get_current_user()
user_id = user_result.get('user_id') or 'anonymous'
except Exception:
pass
if not user_id:
user_id = "anonymous"
config = await self._get_config(user_id)
safety_mode = config.get('safety_mode', 'strict')
@ -740,10 +731,10 @@ def get_harnessed_reasoning_engine():
return _reasoning_instance
async def hermes_reason_and_execute(request: str, execute_immediately: bool = True):
async def hermes_reason_and_execute(request: str, execute_immediately: bool = True, user_id: str = None):
"""Perform reasoning and optionally execute the plan."""
engine = get_harnessed_reasoning_engine()
return await engine.reason_and_execute(request, execute_immediately=execute_immediately)
return await engine.reason_and_execute(request, execute_immediately=execute_immediately, user_id=user_id)
async def hermes_get_reasoning_session(session_id: str):

View File

@ -16,7 +16,8 @@ try:
# Call the reasoning engine from ServerEnv
reasoning_result = await hermes_reason_and_execute(
request=request_text,
execute_immediately=execute_immediately
execute_immediately=execute_immediately,
user_id=user_id
)
if reasoning_result.get('success'):