From f560fd1ebc41f9e37e20b7b62e90bbd3d96b5fe9 Mon Sep 17 00:00:00 2001 From: Mark Daoust Date: Mon, 13 May 2024 09:09:42 -0700 Subject: [PATCH 1/2] GenerateContentResponse.to_dict() Change-Id: I2042d4387fe216f28b9c48b98eab8a71447fb98f --- google/generativeai/types/generation_types.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/google/generativeai/types/generation_types.py b/google/generativeai/types/generation_types.py index b7a342b37..f26667d90 100644 --- a/google/generativeai/types/generation_types.py +++ b/google/generativeai/types/generation_types.py @@ -356,6 +356,10 @@ def __init__( else: self._error = None + def to_dict(self): + """"Returns the result as a JSON-compatible dict.""" + return type(self._result).to_dict(self._result) + @property def candidates(self): """The list of candidate responses. @@ -428,7 +432,7 @@ def __str__(self) -> str: else: _iterator = f"<{self._iterator.__class__.__name__}>" - as_dict = type(self._result).to_dict(self._result) + as_dict = self.to_dict() json_str = json.dumps(as_dict, indent=2) _result = f"glm.GenerateContentResponse({json_str})" From 1ba9c176c8d45239cdf168f091f193bcfc0f7d50 Mon Sep 17 00:00:00 2001 From: Mark Daoust Date: Mon, 13 May 2024 09:18:10 -0700 Subject: [PATCH 2/2] docstring Change-Id: Icec923e7d782ef5e6c2e36faefe790ea01ed93ad --- google/generativeai/types/generation_types.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/google/generativeai/types/generation_types.py b/google/generativeai/types/generation_types.py index f26667d90..f0c9de4c7 100644 --- a/google/generativeai/types/generation_types.py +++ b/google/generativeai/types/generation_types.py @@ -357,7 +357,15 @@ def __init__( self._error = None def to_dict(self): - """"Returns the result as a JSON-compatible dict.""" + """Returns the result as a JSON-compatible dict. + + Note: This doesn't capture the iterator state when streaming, it only captures the accumulated + `GenerateContentResponse` fields. + + >>> import json + >>> response = model.generate_content('Hello?') + >>> json.dumps(response.to_dict()) + """ return type(self._result).to_dict(self._result) @property