From 8f74286ddd08656de243d5983b8c6dda60ad7787 Mon Sep 17 00:00:00 2001 From: Logan <logan.markewich@live.com> Date: Wed, 6 Mar 2024 12:10:43 -0600 Subject: [PATCH] Return proper response type in synthesizer (#11701) --- .../llama_index/core/response_synthesizers/base.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/llama-index-core/llama_index/core/response_synthesizers/base.py b/llama-index-core/llama_index/core/response_synthesizers/base.py index 54f85c773f..7c0e9cf0fc 100644 --- a/llama-index-core/llama_index/core/response_synthesizers/base.py +++ b/llama-index-core/llama_index/core/response_synthesizers/base.py @@ -50,6 +50,10 @@ logger = logging.getLogger(__name__) QueryTextType = Union[str, QueryBundle] +def empty_response_generator() -> Generator[str, None, None]: + yield "Empty Response" + + class BaseSynthesizer(ChainableMixin, PromptMixin): """Response builder class.""" @@ -177,7 +181,10 @@ class BaseSynthesizer(ChainableMixin, PromptMixin): **response_kwargs: Any, ) -> RESPONSE_TYPE: if len(nodes) == 0: - return Response("Empty Response") + if self._streaming: + return StreamingResponse(response_gen=empty_response_generator()) + else: + return Response("Empty Response") if isinstance(query, str): query = QueryBundle(query_str=query) @@ -210,7 +217,10 @@ class BaseSynthesizer(ChainableMixin, PromptMixin): **response_kwargs: Any, ) -> RESPONSE_TYPE: if len(nodes) == 0: - return Response("Empty Response") + if self._streaming: + return StreamingResponse(response_gen=empty_response_generator()) + else: + return Response("Empty Response") if isinstance(query, str): query = QueryBundle(query_str=query) -- GitLab