new feature: Multi-Intent
This commit is contained in:
Binary file not shown.
@@ -151,7 +151,9 @@ class AgentWorkflow:
|
||||
"""
|
||||
ctx = dict(state.get("context", {}) or {})
|
||||
mcp_results = state.get("mcp_results") or []
|
||||
ctx["evidence"] = mcp_results or ctx.get("evidence")
|
||||
rag_results = state.get("rag_results") or []
|
||||
combined_evidence = list(mcp_results) + list(rag_results)
|
||||
ctx["evidence"] = combined_evidence or ctx.get("evidence")
|
||||
ctx["tool_result"] = mcp_results or ctx.get("tool_result")
|
||||
ctx["tool_executed"] = any(isinstance(r, dict) and r.get("ok") for r in mcp_results)
|
||||
|
||||
@@ -945,12 +947,17 @@ class AgentWorkflow:
|
||||
"pending_topics": drained.pending_topics,
|
||||
"handled_topics": drained.handled_topics,
|
||||
"mcp_results": drained.mcp_results,
|
||||
"rag_results": drained.rag_results,
|
||||
"output_guardrails_already_applied": False,
|
||||
"supervisor_action": "disabled",
|
||||
"supervisor_attempt": int(state.get("supervisor_attempt", 0)),
|
||||
}
|
||||
context = {
|
||||
**self._output_guardrail_context({**state, "mcp_results": drained.mcp_results}),
|
||||
**self._output_guardrail_context({
|
||||
**state,
|
||||
"mcp_results": drained.mcp_results,
|
||||
"rag_results": drained.rag_results,
|
||||
}),
|
||||
"tenant_id": state.get("tenant_id"),
|
||||
"agent_id": state.get("agent_id"),
|
||||
"session_id": state.get("conversation_key") or state.get("session_id"),
|
||||
@@ -1022,6 +1029,7 @@ class AgentWorkflow:
|
||||
"pending_topics": drained.pending_topics,
|
||||
"handled_topics": drained.handled_topics,
|
||||
"mcp_results": drained.mcp_results,
|
||||
"rag_results": drained.rag_results,
|
||||
}
|
||||
|
||||
async def output_guardrails(self, state):
|
||||
@@ -1104,6 +1112,7 @@ class AgentWorkflow:
|
||||
relevant_transaction_evidence = list(state.get("relevant_transaction_evidence") or [])
|
||||
judge_context["transaction_evidence"] = relevant_transaction_evidence
|
||||
current_evidence = list(state.get("mcp_results", []) or [])
|
||||
current_evidence.extend(state.get("rag_results", []) or [])
|
||||
current_evidence.extend(relevant_transaction_evidence)
|
||||
judge_context["evidence"] = current_evidence or judge_context.get("evidence")
|
||||
judge_context["route"] = state.get("route")
|
||||
@@ -1251,6 +1260,7 @@ class AgentWorkflow:
|
||||
"judges": state.get("judge_results", []),
|
||||
"mcp_tools": state.get("mcp_tools", []),
|
||||
"mcp_results": state.get("mcp_results", []),
|
||||
"rag_results": state.get("rag_results", []),
|
||||
"transaction_evidence": state.get("relevant_transaction_evidence", []),
|
||||
},
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user