in google/generativeai/types/generation_types.py [0:0]
def to_generation_config_dict(generation_config: GenerationConfigType):
if generation_config is None:
return {}
elif isinstance(generation_config, protos.GenerationConfig):
schema = generation_config.response_schema
generation_config = type(generation_config).to_dict(
generation_config
) # pytype: disable=attribute-error
generation_config["response_schema"] = schema
return generation_config
elif isinstance(generation_config, GenerationConfig):
generation_config = dataclasses.asdict(generation_config)
_normalize_schema(generation_config)
return {key: value for key, value in generation_config.items() if value is not None}
elif hasattr(generation_config, "keys"):
generation_config = dict(generation_config)
_normalize_schema(generation_config)
return generation_config
else:
raise TypeError(
"Invalid input type. Expected a `dict` or `GenerationConfig` for `generation_config`.\n"
f"However, received an object of type: {type(generation_config)}.\n"
f"Object Value: {generation_config}"
)