Combined Session
Details
This page shows version v0.0.0 (dev). The current version can be found here.
The Combined session is an orchestrator that routes queries to VecSearch, NL2SQL, or both. Unlike the other agents and flows, it does not have an AgentSpec definition — it coordinates existing sub-sessions at runtime.
flowchart TD
query["User query"] --> classify["LLM classification call"]
classify --> route{"Route decision"}
route -->|nl2sql| nl2sql["NL2SQL Agent"]
route -->|vecsearch| vecsearch["VecSearch Flow"]
route -->|both| parallel["Run both in parallel"]
nl2sql --> answer_sql["Return NL2SQL answer"]
vecsearch --> answer_vs["Return VecSearch answer"]
parallel --> nl2sql_p["NL2SQL Agent"]
parallel --> vecsearch_p["VecSearch Flow"]
nl2sql_p --> synth["LLM synthesizes results"]
vecsearch_p --> synth
synth --> answer_both["Return combined answer"]- The classifier prompts the LLM to respond with exactly one word —
nl2sql,vecsearch, orboth— based on the user’s question. Unrecognized responses default toboth. - When routed to a single tool, the query is dispatched directly to the corresponding sub-session.
- When routed to
both, the sub-sessions run in parallel. The results are then fed into a synthesis LLM call to produce a unified response. - The system prompt is fetched from the MCP server (
optimizer_tools-default). If unavailable, a default instruction is used. - Token usage from the classifier, sub-sessions, and synthesis calls is aggregated.
- Requires both a configured VecSearch flow and an NL2SQL agent to be available.