mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-07-08 11:56:59 +00:00
Merge pull request #5166 from QlikChrister/fix/tool-rag-timeout-keyword-fallback
fix(agent): fall back to keyword tool selection when retrieval times out
This commit is contained in:
+8
-2
@@ -2532,11 +2532,17 @@ async def stream_agent_loop(
|
||||
)
|
||||
logger.info(f"[tool-rag] Retrieved tools for query: {sorted(_relevant_tools - ALWAYS_AVAILABLE)}")
|
||||
except asyncio.TimeoutError:
|
||||
# Leave _relevant_tools unset so the keyword fallback
|
||||
# below still runs. Hard-coding ALWAYS_AVAILABLE here
|
||||
# skipped the deterministic keyword hints whenever the
|
||||
# embedding backend was slow (e.g. a remote endpoint
|
||||
# cold-loading its model), silently stripping email/
|
||||
# calendar tools from queries that named them outright.
|
||||
logger.warning(
|
||||
"[tool-rag] Retrieval exceeded %.1fs; falling back to always-available tools",
|
||||
"[tool-rag] Retrieval exceeded %.1fs; falling back to keyword tool selection",
|
||||
_TOOL_SELECTION_TIMEOUT_SECONDS,
|
||||
)
|
||||
_relevant_tools = set(ALWAYS_AVAILABLE)
|
||||
_relevant_tools = None
|
||||
except Exception as e:
|
||||
logger.warning(f"[tool-rag] Retrieval failed, using keyword fallback: {e}")
|
||||
_relevant_tools = None
|
||||
|
||||
Reference in New Issue
Block a user