From 5af8d7602e654e9226c96a40e1db249082ce1384 Mon Sep 17 00:00:00 2001 From: Hamza NABIL <58815945+Hamza-nabil@users.noreply.github.com> Date: Sun, 17 Dec 2023 01:25:40 +0100 Subject: [PATCH 1/3] fix: handle empty string in ChatSession.send_message --- google/generativeai/generative_models.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/google/generativeai/generative_models.py b/google/generativeai/generative_models.py index f1725815b..ab281cd7d 100644 --- a/google/generativeai/generative_models.py +++ b/google/generativeai/generative_models.py @@ -346,6 +346,8 @@ def send_message( stream: bool = False, **kwargs, ) -> generation_types.GenerateContentResponse: + if not contents: + raise TypeError("contents must not be empty") content = content_types.to_content(content) if not content.role: content.role = self._USER_ROLE From 37503ee33588d617b6543b0ce790583d28e8c9c0 Mon Sep 17 00:00:00 2001 From: Hamza-nabil Date: Mon, 18 Dec 2023 21:08:10 +0100 Subject: [PATCH 2/3] refactor: move empty string handling to content_types.to_content --- google/generativeai/generative_models.py | 2 -- google/generativeai/types/content_types.py | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/google/generativeai/generative_models.py b/google/generativeai/generative_models.py index ab281cd7d..f1725815b 100644 --- a/google/generativeai/generative_models.py +++ b/google/generativeai/generative_models.py @@ -346,8 +346,6 @@ def send_message( stream: bool = False, **kwargs, ) -> generation_types.GenerateContentResponse: - if not contents: - raise TypeError("contents must not be empty") content = content_types.to_content(content) if not content.role: content.role = self._USER_ROLE diff --git a/google/generativeai/types/content_types.py b/google/generativeai/types/content_types.py index e6503ed63..75b2a9fad 100644 --- a/google/generativeai/types/content_types.py +++ b/google/generativeai/types/content_types.py @@ -189,6 +189,9 @@ def is_content_dict(d): def to_content(content: ContentType): + if not content: + raise TypeError("content must not be empty") + if isinstance(content, Mapping): content = _convert_dict(content) From e614ce0bc0048de4a178501a385caf88516540ec Mon Sep 17 00:00:00 2001 From: Mark Daoust Date: Tue, 19 Dec 2023 09:01:49 -0800 Subject: [PATCH 3/3] ValueError --- google/generativeai/types/content_types.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google/generativeai/types/content_types.py b/google/generativeai/types/content_types.py index 75b2a9fad..ce7b3e59e 100644 --- a/google/generativeai/types/content_types.py +++ b/google/generativeai/types/content_types.py @@ -190,7 +190,7 @@ def is_content_dict(d): def to_content(content: ContentType): if not content: - raise TypeError("content must not be empty") + raise ValueError("content must not be empty") if isinstance(content, Mapping): content = _convert_dict(content)