From 53d440e952059bdd62736ab6b65df33a1a0773f6 Mon Sep 17 00:00:00 2001 From: Mindaugas Date: Mon, 7 Oct 2024 18:55:06 +0300 Subject: [PATCH] Fix ValueError in case chunks are empty (#206) --- .../impls/meta_reference/agents/agent_instance.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/llama_stack/providers/impls/meta_reference/agents/agent_instance.py b/llama_stack/providers/impls/meta_reference/agents/agent_instance.py index 9db6b79b5..661da10cc 100644 --- a/llama_stack/providers/impls/meta_reference/agents/agent_instance.py +++ b/llama_stack/providers/impls/meta_reference/agents/agent_instance.py @@ -673,7 +673,7 @@ class ChatAgent(ShieldRunnerMixin): async def _retrieve_context( self, session_id: str, messages: List[Message], attachments: List[Attachment] - ) -> Tuple[List[str], List[int]]: # (rag_context, bank_ids) + ) -> Tuple[Optional[List[str]], Optional[List[int]]]: # (rag_context, bank_ids) bank_ids = [] memory = self._memory_tool_definition() @@ -722,12 +722,13 @@ class ChatAgent(ShieldRunnerMixin): chunks = [c for r in results for c in r.chunks] scores = [s for r in results for s in r.scores] + if not chunks: + return None, bank_ids + # sort by score chunks, scores = zip( *sorted(zip(chunks, scores), key=lambda x: x[1], reverse=True) ) - if not chunks: - return None, bank_ids tokens = 0 picked = []