gen_ai_hub.orchestration_v2.models.multimodal_items
index
/home/jenkins/agent/workspace/ation_generative-ai-hub-sdk_main/gen_ai_hub/orchestration_v2/models/multimodal_items.py

Models for representing multimodal content parts, including text and images.

 
Modules
       
base64
mimetypes

 
Classes
       
enum.Enum(builtins.object)
ImageDetailLevel
gen_ai_hub.orchestration_v2.models.base.ABCBaseModel(pydantic.main.BaseModel, abc.ABC)
ImageItem
ImagePart
ImageUrl
TextPart

 
class ImageDetailLevel(enum.Enum)
    ImageDetailLevel(value, names=None, *, module=None, qualname=None, type=None, start=1)
 
Controls the resolution and detail level for image analysis.
 
Attributes:
    AUTO: The model determines the detail level automatically.
 
    LOW: The model uses a low-fidelity, faster version of the image.
 
    HIGH: The model uses a high-fidelity version of the image.
 
 
Method resolution order:
ImageDetailLevel
enum.Enum
builtins.object

Data and other attributes defined here:
AUTO = <ImageDetailLevel.AUTO: 'auto'>
HIGH = <ImageDetailLevel.HIGH: 'high'>
LOW = <ImageDetailLevel.LOW: 'low'>

Data descriptors inherited from enum.Enum:
name
The name of the Enum member.
value
The value of the Enum member.

Readonly properties inherited from enum.EnumMeta:
__members__
Returns a mapping of member name->value.
 
This mapping lists all enum members, including aliases. Note that this
is a read-only view of the internal mapping.

 
class ImageItem(gen_ai_hub.orchestration_v2.models.base.ABCBaseModel)
    ImageItem(*, url: Optional[str] = None, detail: Optional[gen_ai_hub.orchestration_v2.models.multimodal_items.ImageDetailLevel] = None) -&gt; None
 
Represents an image for use in multimodal messages.
 
Args:
    url: The image location, specified as either a standard URL or a data URL.
        - Standard URL example: 'https://example.com/image.png'
 
        - Data URL example: 'data:image/png;base64,...'
 
    detail: The image detail level for model processing.
 
Example:
    # Using a standard URL
    img1 = ImageItem(url="https://example.com/image.png", detail=ImageDetailLevel.HIGH)
 
    # Using a data URL
    img2 = ImageItem(url="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...")
 
 
Method resolution order:
ImageItem
gen_ai_hub.orchestration_v2.models.base.ABCBaseModel
pydantic.main.BaseModel
abc.ABC
builtins.object

Methods defined here:
model_dump(self, *, mode: Union[Literal['json', 'python'], str] = 'python', include: Union[set[int], set[str], collections.abc.Mapping[int, Union[ForwardRef('IncEx'), bool]], collections.abc.Mapping[str, Union[ForwardRef('IncEx'), bool]], NoneType] = None, exclude: Union[set[int], set[str], collections.abc.Mapping[int, Union[ForwardRef('IncEx'), bool]], collections.abc.Mapping[str, Union[ForwardRef('IncEx'), bool]], NoneType] = None, context: Optional[Any] = None, by_alias: bool = True, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, round_trip: bool = False, warnings: Union[bool, Literal['none', 'warn', 'error']] = True, fallback: Optional[Callable[[Any], Any]] = None, serialize_as_any: bool = False) -> dict[str, typing.Any]
Dumps the model to a dictionary with default settings.

Static methods defined here:
from_file(file_path: str, mime_type: Optional[str] = None, detail: Optional[gen_ai_hub.orchestration_v2.models.multimodal_items.ImageDetailLevel] = None) -> 'ImageItem'
Create an ImageItem from a local image file.
 
:param file_path: Path to the image file.
:type file_path: str
:param mime_type: Explicit MIME type (e.g., 'image/png').
    If not provided, the MIME type will be guessed from the file extension.
:type mime_type: Optional[str], optional
:param detail: The image detail level for model processing.
:type detail: Optional[ImageDetailLevel], optional
:raises ValueError: If the MIME type cannot be determined and is not provided.
:return: An ImageItem instance with the image data as a data URL.
:rtype: ImageItem

Data and other attributes defined here:
__abstractmethods__ = frozenset()
__annotations__ = {'detail': typing.Optional[gen_ai_hub.orchestration_v2.models.multimodal_items.ImageDetailLevel], 'url': typing.Optional[str]}
__class_vars__ = set()
__private_attributes__ = {}
__pydantic_complete__ = True
__pydantic_computed_fields__ = {}
__pydantic_core_schema__ = {'cls': <class 'gen_ai_hub.orchestration_v2.models.multimodal_items.ImageItem'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'ImageItem'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_sche...estration_v2.models.multimodal_items.ImageItem'>>]}, 'ref': 'gen_ai_hub.orchestration_v2.models.multimodal_items.ImageItem:139913246776304', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'detail': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {...}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'url': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {...}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'ImageItem', 'type': 'model-fields'}, 'type': 'model'}
__pydantic_custom_init__ = False
__pydantic_decorators__ = DecoratorInfos(validators={}, field_validators={...zers={}, model_validators={}, computed_fields={})
__pydantic_fields__ = {'detail': FieldInfo(annotation=Union[ImageDetailLevel, NoneType], required=False, default=None), 'url': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}
__pydantic_generic_metadata__ = {'args': (), 'origin': None, 'parameters': ()}
__pydantic_parent_namespace__ = None
__pydantic_post_init__ = None
__pydantic_serializer__ = SchemaSerializer(serializer=Model( ModelSeri... name: "ImageItem", }, ), definitions=[])
__pydantic_setattr_handlers__ = {}
__pydantic_validator__ = SchemaValidator(title="ImageItem", validator=Mod...m", }, ), definitions=[], cache_strings=True)
__signature__ = <Signature (*, url: Optional[str] = None, detail...ltimodal_items.ImageDetailLevel] = None) -> None>
model_config = {'extra': 'forbid', 'frozen': False}

Data descriptors inherited from gen_ai_hub.orchestration_v2.models.base.ABCBaseModel:
__weakref__
list of weak references to the object (if defined)

Methods inherited from pydantic.main.BaseModel:
__copy__(self) -> 'Self'
Returns a shallow copy of the model.
__deepcopy__(self, memo: 'dict[int, Any] | None' = None) -> 'Self'
Returns a deep copy of the model.
__delattr__(self, item: 'str') -> 'Any'
Implement delattr(self, name).
__eq__(self, other: 'Any') -> 'bool'
Return self==value.
__getattr__(self, item: 'str') -> 'Any'
__getstate__(self) -> 'dict[Any, Any]'
__init__(self, /, **data: 'Any') -> 'None'
Create a new model by parsing and validating input data from keyword arguments.
 
Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be
validated to form a valid model.
 
`self` is explicitly positional-only to allow `self` as a field name.
__iter__(self) -> 'TupleGenerator'
So `dict(model)` works.
__pretty__(self, fmt: 'Callable[[Any], Any]', **kwargs: 'Any') -> 'Generator[Any]'
Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.
__replace__(self, **changes: 'Any') -> 'Self'
# Because we make use of `@dataclass_transform()`, `__replace__` is already synthesized by
# type checkers, so we define the implementation in this `if not TYPE_CHECKING:` block:
__repr__(self) -> 'str'
Return repr(self).
__repr_args__(self) -> '_repr.ReprArgs'
__repr_name__(self) -> 'str'
Name of the instance's class, used in __repr__.
__repr_recursion__(self, object: 'Any') -> 'str'
Returns the string representation of a recursive object.
__repr_str__(self, join_str: 'str') -> 'str'
__rich_repr__(self) -> 'RichReprResult'
Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.
__setattr__(self, name: 'str', value: 'Any') -> 'None'
Implement setattr(self, name, value).
__setstate__(self, state: 'dict[Any, Any]') -> 'None'
__str__(self) -> 'str'
Return str(self).
copy(self, *, include: 'AbstractSetIntStr | MappingIntStrAny | None' = None, exclude: 'AbstractSetIntStr | MappingIntStrAny | None' = None, update: 'Dict[str, Any] | None' = None, deep: 'bool' = False) -> 'Self'
Returns a copy of the model.
 
!!! warning "Deprecated"
    This method is now deprecated; use `model_copy` instead.
 
If you need `include` or `exclude`, use:
 
```python {test="skip" lint="skip"}
data = self.model_dump(include=include, exclude=exclude, round_trip=True)
data = {**data, **(update or {})}
copied = self.model_validate(data)
```
 
Args:
    include: Optional set or mapping specifying which fields to include in the copied model.
    exclude: Optional set or mapping specifying which fields to exclude in the copied model.
    update: Optional dictionary of field-value pairs to override field values in the copied model.
    deep: If True, the values of fields that are Pydantic models will be deep-copied.
 
Returns:
    A copy of the model with included, excluded and updated fields as specified.
dict(self, *, include: 'IncEx | None' = None, exclude: 'IncEx | None' = None, by_alias: 'bool' = False, exclude_unset: 'bool' = False, exclude_defaults: 'bool' = False, exclude_none: 'bool' = False) -> 'Dict[str, Any]'
json(self, *, include: 'IncEx | None' = None, exclude: 'IncEx | None' = None, by_alias: 'bool' = False, exclude_unset: 'bool' = False, exclude_defaults: 'bool' = False, exclude_none: 'bool' = False, encoder: 'Callable[[Any], Any] | None' = PydanticUndefined, models_as_dict: 'bool' = PydanticUndefined, **dumps_kwargs: 'Any') -> 'str'
model_copy(self, *, update: 'Mapping[str, Any] | None' = None, deep: 'bool' = False) -> 'Self'
!!! abstract "Usage Documentation"
    [`model_copy`](../concepts/models.md#model-copy)
 
Returns a copy of the model.
 
!!! note
    The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
    might have unexpected side effects if you store anything in it, on top of the model
    fields (e.g. the value of [cached properties][functools.cached_property]).
 
Args:
    update: Values to change/add in the new model. Note: the data is not validated
        before creating the new model. You should trust this data.
    deep: Set to `True` to make a deep copy of the model.
 
Returns:
    New model instance.
model_dump_json(self, *, indent: 'int | None' = None, ensure_ascii: 'bool' = False, include: 'IncEx | None' = None, exclude: 'IncEx | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, exclude_unset: 'bool' = False, exclude_defaults: 'bool' = False, exclude_none: 'bool' = False, exclude_computed_fields: 'bool' = False, round_trip: 'bool' = False, warnings: "bool | Literal['none', 'warn', 'error']" = True, fallback: 'Callable[[Any], Any] | None' = None, serialize_as_any: 'bool' = False) -> 'str'
!!! abstract "Usage Documentation"
    [`model_dump_json`](../concepts/serialization.md#json-mode)
 
Generates a JSON representation of the model using Pydantic's `to_json` method.
 
Args:
    indent: Indentation to use in the JSON output. If None is passed, the output will be compact.
    ensure_ascii: If `True`, the output is guaranteed to have all incoming non-ASCII characters escaped.
        If `False` (the default), these characters will be output as-is.
    include: Field(s) to include in the JSON output.
    exclude: Field(s) to exclude from the JSON output.
    context: Additional context to pass to the serializer.
    by_alias: Whether to serialize using field aliases.
    exclude_unset: Whether to exclude fields that have not been explicitly set.
    exclude_defaults: Whether to exclude fields that are set to their default value.
    exclude_none: Whether to exclude fields that have a value of `None`.
    exclude_computed_fields: Whether to exclude computed fields.
        While this can be useful for round-tripping, it is usually recommended to use the dedicated
        `round_trip` parameter instead.
    round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T].
    warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors,
        "error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError].
    fallback: A function to call when an unknown value is encountered. If not provided,
        a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised.
    serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.
 
Returns:
    A JSON string representation of the model.
model_post_init(self, context: 'Any', /) -> 'None'
Override this method to perform additional initialization after `__init__` and `model_construct`.
This is useful if you want to do some validation that requires the entire model to be initialized.

Class methods inherited from pydantic.main.BaseModel:
__class_getitem__(typevar_values: 'type[Any] | tuple[type[Any], ...]') -> 'type[BaseModel] | _forward_ref.PydanticRecursiveRef' from pydantic._internal._model_construction.ModelMetaclass
__get_pydantic_core_schema__(source: 'type[BaseModel]', handler: 'GetCoreSchemaHandler', /) -> 'CoreSchema' from pydantic._internal._model_construction.ModelMetaclass
__get_pydantic_json_schema__(core_schema: 'CoreSchema', handler: 'GetJsonSchemaHandler', /) -> 'JsonSchemaValue' from pydantic._internal._model_construction.ModelMetaclass
Hook into generating the model's JSON schema.
 
Args:
    core_schema: A `pydantic-core` CoreSchema.
        You can ignore this argument and call the handler with a new CoreSchema,
        wrap this CoreSchema (`{'type': 'nullable', 'schema': current_schema}`),
        or just call the handler with the original schema.
    handler: Call into Pydantic's internal JSON schema generation.
        This will raise a `pydantic.errors.PydanticInvalidForJsonSchema` if JSON schema
        generation fails.
        Since this gets called by `BaseModel.model_json_schema` you can override the
        `schema_generator` argument to that function to change JSON schema generation globally
        for a type.
 
Returns:
    A JSON schema, as a Python object.
__pydantic_init_subclass__(**kwargs: 'Any') -> 'None' from pydantic._internal._model_construction.ModelMetaclass
This is intended to behave just like `__init_subclass__`, but is called by `ModelMetaclass`
only after basic class initialization is complete. In particular, attributes like `model_fields` will
be present when this is called, but forward annotations are not guaranteed to be resolved yet,
meaning that creating an instance of the class may fail.
 
This is necessary because `__init_subclass__` will always be called by `type.__new__`,
and it would require a prohibitively large refactor to the `ModelMetaclass` to ensure that
`type.__new__` was called in such a manner that the class would already be sufficiently initialized.
 
This will receive the same `kwargs` that would be passed to the standard `__init_subclass__`, namely,
any kwargs passed to the class definition that aren't used internally by Pydantic.
 
Args:
    **kwargs: Any keyword arguments passed to the class definition that aren't used internally
        by Pydantic.
 
Note:
    You may want to override [`__pydantic_on_complete__()`][pydantic.main.BaseModel.__pydantic_on_complete__]
    instead, which is called once the class and its fields are fully initialized and ready for validation.
__pydantic_on_complete__() -> 'None' from pydantic._internal._model_construction.ModelMetaclass
This is called once the class and its fields are fully initialized and ready to be used.
 
This typically happens when the class is created (just before
[`__pydantic_init_subclass__()`][pydantic.main.BaseModel.__pydantic_init_subclass__] is called on the superclass),
except when forward annotations are used that could not immediately be resolved.
In that case, it will be called later, when the model is rebuilt automatically or explicitly using
[`model_rebuild()`][pydantic.main.BaseModel.model_rebuild].
construct(_fields_set: 'set[str] | None' = None, **values: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
from_orm(obj: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
model_construct(_fields_set: 'set[str] | None' = None, **values: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
Creates a new instance of the `Model` class with validated data.
 
Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
Default values are respected, but no other validation is performed.
 
!!! note
    `model_construct()` generally respects the `model_config.extra` setting on the provided model.
    That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
    and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
    Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
    an error if extra values are passed, but they will be ignored.
 
Args:
    _fields_set: A set of field names that were originally explicitly set during instantiation. If provided,
        this is directly used for the [`model_fields_set`][pydantic.BaseModel.model_fields_set] attribute.
        Otherwise, the field names from the `values` argument will be used.
    values: Trusted or pre-validated data dictionary.
 
Returns:
    A new instance of the `Model` class with validated data.
model_json_schema(by_alias: 'bool' = True, ref_template: 'str' = '#/$defs/{model}', schema_generator: 'type[GenerateJsonSchema]' = <class 'pydantic.json_schema.GenerateJsonSchema'>, mode: 'JsonSchemaMode' = 'validation', *, union_format: "Literal['any_of', 'primitive_type_array']" = 'any_of') -> 'dict[str, Any]' from pydantic._internal._model_construction.ModelMetaclass
Generates a JSON schema for a model class.
 
Args:
    by_alias: Whether to use attribute aliases or not.
    ref_template: The reference template.
    union_format: The format to use when combining schemas from unions together. Can be one of:
 
        - `'any_of'`: Use the [`anyOf`](https://json-schema.org/understanding-json-schema/reference/combining#anyOf)
        keyword to combine schemas (the default).
        - `'primitive_type_array'`: Use the [`type`](https://json-schema.org/understanding-json-schema/reference/type)
        keyword as an array of strings, containing each type of the combination. If any of the schemas is not a primitive
        type (`string`, `boolean`, `null`, `integer` or `number`) or contains constraints/metadata, falls back to
        `any_of`.
    schema_generator: To override the logic used to generate the JSON schema, as a subclass of
        `GenerateJsonSchema` with your desired modifications
    mode: The mode in which to generate the schema.
 
Returns:
    The JSON schema for the given model class.
model_parametrized_name(params: 'tuple[type[Any], ...]') -> 'str' from pydantic._internal._model_construction.ModelMetaclass
Compute the class name for parametrizations of generic classes.
 
This method can be overridden to achieve a custom naming scheme for generic BaseModels.
 
Args:
    params: Tuple of types of the class. Given a generic class
        `Model` with 2 type variables and a concrete model `Model[str, int]`,
        the value `(str, int)` would be passed to `params`.
 
Returns:
    String representing the new class where `params` are passed to `cls` as type variables.
 
Raises:
    TypeError: Raised when trying to generate concrete names for non-generic models.
model_rebuild(*, force: 'bool' = False, raise_errors: 'bool' = True, _parent_namespace_depth: 'int' = 2, _types_namespace: 'MappingNamespace | None' = None) -> 'bool | None' from pydantic._internal._model_construction.ModelMetaclass
Try to rebuild the pydantic-core schema for the model.
 
This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
the initial attempt to build the schema, and automatic rebuilding fails.
 
Args:
    force: Whether to force the rebuilding of the model schema, defaults to `False`.
    raise_errors: Whether to raise errors, defaults to `True`.
    _parent_namespace_depth: The depth level of the parent namespace, defaults to 2.
    _types_namespace: The types namespace, defaults to `None`.
 
Returns:
    Returns `None` if the schema is already "complete" and rebuilding was not required.
    If rebuilding _was_ required, returns `True` if rebuilding was successful, otherwise `False`.
model_validate(obj: 'Any', *, strict: 'bool | None' = None, extra: 'ExtraValues | None' = None, from_attributes: 'bool | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, by_name: 'bool | None' = None) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
Validate a pydantic model instance.
 
Args:
    obj: The object to validate.
    strict: Whether to enforce types strictly.
    extra: Whether to ignore, allow, or forbid extra data during model validation.
        See the [`extra` configuration value][pydantic.ConfigDict.extra] for details.
    from_attributes: Whether to extract data from object attributes.
    context: Additional context to pass to the validator.
    by_alias: Whether to use the field's alias when validating against the provided input data.
    by_name: Whether to use the field's name when validating against the provided input data.
 
Raises:
    ValidationError: If the object could not be validated.
 
Returns:
    The validated model instance.
model_validate_json(json_data: 'str | bytes | bytearray', *, strict: 'bool | None' = None, extra: 'ExtraValues | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, by_name: 'bool | None' = None) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
!!! abstract "Usage Documentation"
    [JSON Parsing](../concepts/json.md#json-parsing)
 
Validate the given JSON data against the Pydantic model.
 
Args:
    json_data: The JSON data to validate.
    strict: Whether to enforce types strictly.
    extra: Whether to ignore, allow, or forbid extra data during model validation.
        See the [`extra` configuration value][pydantic.ConfigDict.extra] for details.
    context: Extra variables to pass to the validator.
    by_alias: Whether to use the field's alias when validating against the provided input data.
    by_name: Whether to use the field's name when validating against the provided input data.
 
Returns:
    The validated Pydantic model.
 
Raises:
    ValidationError: If `json_data` is not a JSON string or the object could not be validated.
model_validate_strings(obj: 'Any', *, strict: 'bool | None' = None, extra: 'ExtraValues | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, by_name: 'bool | None' = None) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
Validate the given object with string data against the Pydantic model.
 
Args:
    obj: The object containing string data to validate.
    strict: Whether to enforce types strictly.
    extra: Whether to ignore, allow, or forbid extra data during model validation.
        See the [`extra` configuration value][pydantic.ConfigDict.extra] for details.
    context: Extra variables to pass to the validator.
    by_alias: Whether to use the field's alias when validating against the provided input data.
    by_name: Whether to use the field's name when validating against the provided input data.
 
Returns:
    The validated Pydantic model.
parse_file(path: 'str | Path', *, content_type: 'str | None' = None, encoding: 'str' = 'utf8', proto: 'DeprecatedParseProtocol | None' = None, allow_pickle: 'bool' = False) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
parse_obj(obj: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
parse_raw(b: 'str | bytes', *, content_type: 'str | None' = None, encoding: 'str' = 'utf8', proto: 'DeprecatedParseProtocol | None' = None, allow_pickle: 'bool' = False) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
schema(by_alias: 'bool' = True, ref_template: 'str' = '#/$defs/{model}') -> 'Dict[str, Any]' from pydantic._internal._model_construction.ModelMetaclass
schema_json(*, by_alias: 'bool' = True, ref_template: 'str' = '#/$defs/{model}', **dumps_kwargs: 'Any') -> 'str' from pydantic._internal._model_construction.ModelMetaclass
update_forward_refs(**localns: 'Any') -> 'None' from pydantic._internal._model_construction.ModelMetaclass
validate(value: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass

Readonly properties inherited from pydantic.main.BaseModel:
__fields_set__
model_extra
Get extra fields set during validation.
 
Returns:
    A dictionary of extra fields, or `None` if `config.extra` is not set to `"allow"`.
model_fields_set
Returns the set of fields that have been explicitly set on this model instance.
 
Returns:
    A set of strings representing the fields that have been set,
        i.e. that were not filled from defaults.

Data descriptors inherited from pydantic.main.BaseModel:
__dict__
dictionary for instance variables (if defined)
__pydantic_extra__
__pydantic_fields_set__
__pydantic_private__

Data and other attributes inherited from pydantic.main.BaseModel:
__hash__ = None
__pydantic_root_model__ = False
model_computed_fields = {}
model_fields = {'detail': FieldInfo(annotation=Union[ImageDetailLevel, NoneType], required=False, default=None), 'url': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}

 
class ImagePart(gen_ai_hub.orchestration_v2.models.base.ABCBaseModel)
    ImagePart(*, image_url: gen_ai_hub.orchestration_v2.models.multimodal_items.ImageUrl, type: Literal['image_url'] = 'image_url') -&gt; None
 
Represents an image segment within a multimodal content block.
 
Args:
    image_url: An `ImageUrl` object containing the image's location and detail level.
 
    type: The type identifier, defaulting to "image_url".
 
 
Method resolution order:
ImagePart
gen_ai_hub.orchestration_v2.models.base.ABCBaseModel
pydantic.main.BaseModel
abc.ABC
builtins.object

Data and other attributes defined here:
__abstractmethods__ = frozenset()
__annotations__ = {'image_url': <class 'gen_ai_hub.orchestration_v2.models.multimodal_items.ImageUrl'>, 'type_': typing.Literal['image_url']}
__class_vars__ = set()
__private_attributes__ = {}
__pydantic_complete__ = True
__pydantic_computed_fields__ = {}
__pydantic_core_schema__ = {'cls': <class 'gen_ai_hub.orchestration_v2.models.multimodal_items.ImagePart'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'ImagePart'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_sche...estration_v2.models.multimodal_items.ImagePart'>>]}, 'ref': 'gen_ai_hub.orchestration_v2.models.multimodal_items.ImagePart:139913246775344', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'image_url': {'metadata': {}, 'schema': {'cls': <class 'gen_ai_hub.orchestration_v2.models.multimodal_items.ImageUrl'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'ImageUrl'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [...]}, 'ref': 'gen_ai_hub.orchestration_v2.models.multimodal_items.ImageUrl:139913246774336', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {...}, 'model_name': 'ImageUrl', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type_': {'metadata': {}, 'schema': {'default': 'image_url', 'schema': {'expected': [...], 'type': 'literal'}, 'type': 'default'}, 'serialization_alias': 'type', 'type': 'model-field', 'validation_alias': 'type'}}, 'model_name': 'ImagePart', 'type': 'model-fields'}, 'type': 'model'}
__pydantic_custom_init__ = False
__pydantic_decorators__ = DecoratorInfos(validators={}, field_validators={...zers={}, model_validators={}, computed_fields={})
__pydantic_fields__ = {'image_url': FieldInfo(annotation=ImageUrl, required=True), 'type_': FieldInfo(annotation=Literal['image_url'], requi...ault='image_url', alias='type', alias_priority=2)}
__pydantic_generic_metadata__ = {'args': (), 'origin': None, 'parameters': ()}
__pydantic_parent_namespace__ = None
__pydantic_post_init__ = None
__pydantic_serializer__ = SchemaSerializer(serializer=Model( ModelSeri... name: "ImagePart", }, ), definitions=[])
__pydantic_setattr_handlers__ = {}
__pydantic_validator__ = SchemaValidator(title="ImagePart", validator=Mod...t", }, ), definitions=[], cache_strings=True)
__signature__ = <Signature (*, image_url: gen_ai_hub.orchestrati...ype: Literal['image_url'] = 'image_url') -> None>
model_config = {'extra': 'forbid', 'frozen': False}

Methods inherited from gen_ai_hub.orchestration_v2.models.base.ABCBaseModel:
model_dump(self, **kwargs)
Dumps the model to a dictionary with default settings.

Data descriptors inherited from gen_ai_hub.orchestration_v2.models.base.ABCBaseModel:
__weakref__
list of weak references to the object (if defined)

Methods inherited from pydantic.main.BaseModel:
__copy__(self) -> 'Self'
Returns a shallow copy of the model.
__deepcopy__(self, memo: 'dict[int, Any] | None' = None) -> 'Self'
Returns a deep copy of the model.
__delattr__(self, item: 'str') -> 'Any'
Implement delattr(self, name).
__eq__(self, other: 'Any') -> 'bool'
Return self==value.
__getattr__(self, item: 'str') -> 'Any'
__getstate__(self) -> 'dict[Any, Any]'
__init__(self, /, **data: 'Any') -> 'None'
Create a new model by parsing and validating input data from keyword arguments.
 
Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be
validated to form a valid model.
 
`self` is explicitly positional-only to allow `self` as a field name.
__iter__(self) -> 'TupleGenerator'
So `dict(model)` works.
__pretty__(self, fmt: 'Callable[[Any], Any]', **kwargs: 'Any') -> 'Generator[Any]'
Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.
__replace__(self, **changes: 'Any') -> 'Self'
# Because we make use of `@dataclass_transform()`, `__replace__` is already synthesized by
# type checkers, so we define the implementation in this `if not TYPE_CHECKING:` block:
__repr__(self) -> 'str'
Return repr(self).
__repr_args__(self) -> '_repr.ReprArgs'
__repr_name__(self) -> 'str'
Name of the instance's class, used in __repr__.
__repr_recursion__(self, object: 'Any') -> 'str'
Returns the string representation of a recursive object.
__repr_str__(self, join_str: 'str') -> 'str'
__rich_repr__(self) -> 'RichReprResult'
Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.
__setattr__(self, name: 'str', value: 'Any') -> 'None'
Implement setattr(self, name, value).
__setstate__(self, state: 'dict[Any, Any]') -> 'None'
__str__(self) -> 'str'
Return str(self).
copy(self, *, include: 'AbstractSetIntStr | MappingIntStrAny | None' = None, exclude: 'AbstractSetIntStr | MappingIntStrAny | None' = None, update: 'Dict[str, Any] | None' = None, deep: 'bool' = False) -> 'Self'
Returns a copy of the model.
 
!!! warning "Deprecated"
    This method is now deprecated; use `model_copy` instead.
 
If you need `include` or `exclude`, use:
 
```python {test="skip" lint="skip"}
data = self.model_dump(include=include, exclude=exclude, round_trip=True)
data = {**data, **(update or {})}
copied = self.model_validate(data)
```
 
Args:
    include: Optional set or mapping specifying which fields to include in the copied model.
    exclude: Optional set or mapping specifying which fields to exclude in the copied model.
    update: Optional dictionary of field-value pairs to override field values in the copied model.
    deep: If True, the values of fields that are Pydantic models will be deep-copied.
 
Returns:
    A copy of the model with included, excluded and updated fields as specified.
dict(self, *, include: 'IncEx | None' = None, exclude: 'IncEx | None' = None, by_alias: 'bool' = False, exclude_unset: 'bool' = False, exclude_defaults: 'bool' = False, exclude_none: 'bool' = False) -> 'Dict[str, Any]'
json(self, *, include: 'IncEx | None' = None, exclude: 'IncEx | None' = None, by_alias: 'bool' = False, exclude_unset: 'bool' = False, exclude_defaults: 'bool' = False, exclude_none: 'bool' = False, encoder: 'Callable[[Any], Any] | None' = PydanticUndefined, models_as_dict: 'bool' = PydanticUndefined, **dumps_kwargs: 'Any') -> 'str'
model_copy(self, *, update: 'Mapping[str, Any] | None' = None, deep: 'bool' = False) -> 'Self'
!!! abstract "Usage Documentation"
    [`model_copy`](../concepts/models.md#model-copy)
 
Returns a copy of the model.
 
!!! note
    The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
    might have unexpected side effects if you store anything in it, on top of the model
    fields (e.g. the value of [cached properties][functools.cached_property]).
 
Args:
    update: Values to change/add in the new model. Note: the data is not validated
        before creating the new model. You should trust this data.
    deep: Set to `True` to make a deep copy of the model.
 
Returns:
    New model instance.
model_dump_json(self, *, indent: 'int | None' = None, ensure_ascii: 'bool' = False, include: 'IncEx | None' = None, exclude: 'IncEx | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, exclude_unset: 'bool' = False, exclude_defaults: 'bool' = False, exclude_none: 'bool' = False, exclude_computed_fields: 'bool' = False, round_trip: 'bool' = False, warnings: "bool | Literal['none', 'warn', 'error']" = True, fallback: 'Callable[[Any], Any] | None' = None, serialize_as_any: 'bool' = False) -> 'str'
!!! abstract "Usage Documentation"
    [`model_dump_json`](../concepts/serialization.md#json-mode)
 
Generates a JSON representation of the model using Pydantic's `to_json` method.
 
Args:
    indent: Indentation to use in the JSON output. If None is passed, the output will be compact.
    ensure_ascii: If `True`, the output is guaranteed to have all incoming non-ASCII characters escaped.
        If `False` (the default), these characters will be output as-is.
    include: Field(s) to include in the JSON output.
    exclude: Field(s) to exclude from the JSON output.
    context: Additional context to pass to the serializer.
    by_alias: Whether to serialize using field aliases.
    exclude_unset: Whether to exclude fields that have not been explicitly set.
    exclude_defaults: Whether to exclude fields that are set to their default value.
    exclude_none: Whether to exclude fields that have a value of `None`.
    exclude_computed_fields: Whether to exclude computed fields.
        While this can be useful for round-tripping, it is usually recommended to use the dedicated
        `round_trip` parameter instead.
    round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T].
    warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors,
        "error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError].
    fallback: A function to call when an unknown value is encountered. If not provided,
        a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised.
    serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.
 
Returns:
    A JSON string representation of the model.
model_post_init(self, context: 'Any', /) -> 'None'
Override this method to perform additional initialization after `__init__` and `model_construct`.
This is useful if you want to do some validation that requires the entire model to be initialized.

Class methods inherited from pydantic.main.BaseModel:
__class_getitem__(typevar_values: 'type[Any] | tuple[type[Any], ...]') -> 'type[BaseModel] | _forward_ref.PydanticRecursiveRef' from pydantic._internal._model_construction.ModelMetaclass
__get_pydantic_core_schema__(source: 'type[BaseModel]', handler: 'GetCoreSchemaHandler', /) -> 'CoreSchema' from pydantic._internal._model_construction.ModelMetaclass
__get_pydantic_json_schema__(core_schema: 'CoreSchema', handler: 'GetJsonSchemaHandler', /) -> 'JsonSchemaValue' from pydantic._internal._model_construction.ModelMetaclass
Hook into generating the model's JSON schema.
 
Args:
    core_schema: A `pydantic-core` CoreSchema.
        You can ignore this argument and call the handler with a new CoreSchema,
        wrap this CoreSchema (`{'type': 'nullable', 'schema': current_schema}`),
        or just call the handler with the original schema.
    handler: Call into Pydantic's internal JSON schema generation.
        This will raise a `pydantic.errors.PydanticInvalidForJsonSchema` if JSON schema
        generation fails.
        Since this gets called by `BaseModel.model_json_schema` you can override the
        `schema_generator` argument to that function to change JSON schema generation globally
        for a type.
 
Returns:
    A JSON schema, as a Python object.
__pydantic_init_subclass__(**kwargs: 'Any') -> 'None' from pydantic._internal._model_construction.ModelMetaclass
This is intended to behave just like `__init_subclass__`, but is called by `ModelMetaclass`
only after basic class initialization is complete. In particular, attributes like `model_fields` will
be present when this is called, but forward annotations are not guaranteed to be resolved yet,
meaning that creating an instance of the class may fail.
 
This is necessary because `__init_subclass__` will always be called by `type.__new__`,
and it would require a prohibitively large refactor to the `ModelMetaclass` to ensure that
`type.__new__` was called in such a manner that the class would already be sufficiently initialized.
 
This will receive the same `kwargs` that would be passed to the standard `__init_subclass__`, namely,
any kwargs passed to the class definition that aren't used internally by Pydantic.
 
Args:
    **kwargs: Any keyword arguments passed to the class definition that aren't used internally
        by Pydantic.
 
Note:
    You may want to override [`__pydantic_on_complete__()`][pydantic.main.BaseModel.__pydantic_on_complete__]
    instead, which is called once the class and its fields are fully initialized and ready for validation.
__pydantic_on_complete__() -> 'None' from pydantic._internal._model_construction.ModelMetaclass
This is called once the class and its fields are fully initialized and ready to be used.
 
This typically happens when the class is created (just before
[`__pydantic_init_subclass__()`][pydantic.main.BaseModel.__pydantic_init_subclass__] is called on the superclass),
except when forward annotations are used that could not immediately be resolved.
In that case, it will be called later, when the model is rebuilt automatically or explicitly using
[`model_rebuild()`][pydantic.main.BaseModel.model_rebuild].
construct(_fields_set: 'set[str] | None' = None, **values: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
from_orm(obj: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
model_construct(_fields_set: 'set[str] | None' = None, **values: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
Creates a new instance of the `Model` class with validated data.
 
Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
Default values are respected, but no other validation is performed.
 
!!! note
    `model_construct()` generally respects the `model_config.extra` setting on the provided model.
    That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
    and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
    Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
    an error if extra values are passed, but they will be ignored.
 
Args:
    _fields_set: A set of field names that were originally explicitly set during instantiation. If provided,
        this is directly used for the [`model_fields_set`][pydantic.BaseModel.model_fields_set] attribute.
        Otherwise, the field names from the `values` argument will be used.
    values: Trusted or pre-validated data dictionary.
 
Returns:
    A new instance of the `Model` class with validated data.
model_json_schema(by_alias: 'bool' = True, ref_template: 'str' = '#/$defs/{model}', schema_generator: 'type[GenerateJsonSchema]' = <class 'pydantic.json_schema.GenerateJsonSchema'>, mode: 'JsonSchemaMode' = 'validation', *, union_format: "Literal['any_of', 'primitive_type_array']" = 'any_of') -> 'dict[str, Any]' from pydantic._internal._model_construction.ModelMetaclass
Generates a JSON schema for a model class.
 
Args:
    by_alias: Whether to use attribute aliases or not.
    ref_template: The reference template.
    union_format: The format to use when combining schemas from unions together. Can be one of:
 
        - `'any_of'`: Use the [`anyOf`](https://json-schema.org/understanding-json-schema/reference/combining#anyOf)
        keyword to combine schemas (the default).
        - `'primitive_type_array'`: Use the [`type`](https://json-schema.org/understanding-json-schema/reference/type)
        keyword as an array of strings, containing each type of the combination. If any of the schemas is not a primitive
        type (`string`, `boolean`, `null`, `integer` or `number`) or contains constraints/metadata, falls back to
        `any_of`.
    schema_generator: To override the logic used to generate the JSON schema, as a subclass of
        `GenerateJsonSchema` with your desired modifications
    mode: The mode in which to generate the schema.
 
Returns:
    The JSON schema for the given model class.
model_parametrized_name(params: 'tuple[type[Any], ...]') -> 'str' from pydantic._internal._model_construction.ModelMetaclass
Compute the class name for parametrizations of generic classes.
 
This method can be overridden to achieve a custom naming scheme for generic BaseModels.
 
Args:
    params: Tuple of types of the class. Given a generic class
        `Model` with 2 type variables and a concrete model `Model[str, int]`,
        the value `(str, int)` would be passed to `params`.
 
Returns:
    String representing the new class where `params` are passed to `cls` as type variables.
 
Raises:
    TypeError: Raised when trying to generate concrete names for non-generic models.
model_rebuild(*, force: 'bool' = False, raise_errors: 'bool' = True, _parent_namespace_depth: 'int' = 2, _types_namespace: 'MappingNamespace | None' = None) -> 'bool | None' from pydantic._internal._model_construction.ModelMetaclass
Try to rebuild the pydantic-core schema for the model.
 
This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
the initial attempt to build the schema, and automatic rebuilding fails.
 
Args:
    force: Whether to force the rebuilding of the model schema, defaults to `False`.
    raise_errors: Whether to raise errors, defaults to `True`.
    _parent_namespace_depth: The depth level of the parent namespace, defaults to 2.
    _types_namespace: The types namespace, defaults to `None`.
 
Returns:
    Returns `None` if the schema is already "complete" and rebuilding was not required.
    If rebuilding _was_ required, returns `True` if rebuilding was successful, otherwise `False`.
model_validate(obj: 'Any', *, strict: 'bool | None' = None, extra: 'ExtraValues | None' = None, from_attributes: 'bool | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, by_name: 'bool | None' = None) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
Validate a pydantic model instance.
 
Args:
    obj: The object to validate.
    strict: Whether to enforce types strictly.
    extra: Whether to ignore, allow, or forbid extra data during model validation.
        See the [`extra` configuration value][pydantic.ConfigDict.extra] for details.
    from_attributes: Whether to extract data from object attributes.
    context: Additional context to pass to the validator.
    by_alias: Whether to use the field's alias when validating against the provided input data.
    by_name: Whether to use the field's name when validating against the provided input data.
 
Raises:
    ValidationError: If the object could not be validated.
 
Returns:
    The validated model instance.
model_validate_json(json_data: 'str | bytes | bytearray', *, strict: 'bool | None' = None, extra: 'ExtraValues | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, by_name: 'bool | None' = None) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
!!! abstract "Usage Documentation"
    [JSON Parsing](../concepts/json.md#json-parsing)
 
Validate the given JSON data against the Pydantic model.
 
Args:
    json_data: The JSON data to validate.
    strict: Whether to enforce types strictly.
    extra: Whether to ignore, allow, or forbid extra data during model validation.
        See the [`extra` configuration value][pydantic.ConfigDict.extra] for details.
    context: Extra variables to pass to the validator.
    by_alias: Whether to use the field's alias when validating against the provided input data.
    by_name: Whether to use the field's name when validating against the provided input data.
 
Returns:
    The validated Pydantic model.
 
Raises:
    ValidationError: If `json_data` is not a JSON string or the object could not be validated.
model_validate_strings(obj: 'Any', *, strict: 'bool | None' = None, extra: 'ExtraValues | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, by_name: 'bool | None' = None) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
Validate the given object with string data against the Pydantic model.
 
Args:
    obj: The object containing string data to validate.
    strict: Whether to enforce types strictly.
    extra: Whether to ignore, allow, or forbid extra data during model validation.
        See the [`extra` configuration value][pydantic.ConfigDict.extra] for details.
    context: Extra variables to pass to the validator.
    by_alias: Whether to use the field's alias when validating against the provided input data.
    by_name: Whether to use the field's name when validating against the provided input data.
 
Returns:
    The validated Pydantic model.
parse_file(path: 'str | Path', *, content_type: 'str | None' = None, encoding: 'str' = 'utf8', proto: 'DeprecatedParseProtocol | None' = None, allow_pickle: 'bool' = False) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
parse_obj(obj: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
parse_raw(b: 'str | bytes', *, content_type: 'str | None' = None, encoding: 'str' = 'utf8', proto: 'DeprecatedParseProtocol | None' = None, allow_pickle: 'bool' = False) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
schema(by_alias: 'bool' = True, ref_template: 'str' = '#/$defs/{model}') -> 'Dict[str, Any]' from pydantic._internal._model_construction.ModelMetaclass
schema_json(*, by_alias: 'bool' = True, ref_template: 'str' = '#/$defs/{model}', **dumps_kwargs: 'Any') -> 'str' from pydantic._internal._model_construction.ModelMetaclass
update_forward_refs(**localns: 'Any') -> 'None' from pydantic._internal._model_construction.ModelMetaclass
validate(value: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass

Readonly properties inherited from pydantic.main.BaseModel:
__fields_set__
model_extra
Get extra fields set during validation.
 
Returns:
    A dictionary of extra fields, or `None` if `config.extra` is not set to `"allow"`.
model_fields_set
Returns the set of fields that have been explicitly set on this model instance.
 
Returns:
    A set of strings representing the fields that have been set,
        i.e. that were not filled from defaults.

Data descriptors inherited from pydantic.main.BaseModel:
__dict__
dictionary for instance variables (if defined)
__pydantic_extra__
__pydantic_fields_set__
__pydantic_private__

Data and other attributes inherited from pydantic.main.BaseModel:
__hash__ = None
__pydantic_root_model__ = False
model_computed_fields = {}
model_fields = {'image_url': FieldInfo(annotation=ImageUrl, required=True), 'type_': FieldInfo(annotation=Literal['image_url'], requi...ault='image_url', alias='type', alias_priority=2)}

 
class ImageUrl(gen_ai_hub.orchestration_v2.models.base.ABCBaseModel)
    ImageUrl(*, url: str, detail: Optional[gen_ai_hub.orchestration_v2.models.multimodal_items.ImageDetailLevel] = None) -&gt; None
 
A data structure holding the URL and detail level for an image.
 
Args:
    url: The location of the image, as a standard or data URL.
 
    detail: The processing detail level for the image.
 
 
Method resolution order:
ImageUrl
gen_ai_hub.orchestration_v2.models.base.ABCBaseModel
pydantic.main.BaseModel
abc.ABC
builtins.object

Data and other attributes defined here:
__abstractmethods__ = frozenset()
__annotations__ = {'detail': typing.Optional[gen_ai_hub.orchestration_v2.models.multimodal_items.ImageDetailLevel], 'url': <class 'str'>}
__class_vars__ = set()
__private_attributes__ = {}
__pydantic_complete__ = True
__pydantic_computed_fields__ = {}
__pydantic_core_schema__ = {'cls': <class 'gen_ai_hub.orchestration_v2.models.multimodal_items.ImageUrl'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'ImageUrl'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_sche...hestration_v2.models.multimodal_items.ImageUrl'>>]}, 'ref': 'gen_ai_hub.orchestration_v2.models.multimodal_items.ImageUrl:139913246774336', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'detail': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {...}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'url': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'ImageUrl', 'type': 'model-fields'}, 'type': 'model'}
__pydantic_custom_init__ = False
__pydantic_decorators__ = DecoratorInfos(validators={}, field_validators={...zers={}, model_validators={}, computed_fields={})
__pydantic_fields__ = {'detail': FieldInfo(annotation=Union[ImageDetailLevel, NoneType], required=False, default=None), 'url': FieldInfo(annotation=str, required=True)}
__pydantic_generic_metadata__ = {'args': (), 'origin': None, 'parameters': ()}
__pydantic_parent_namespace__ = None
__pydantic_post_init__ = None
__pydantic_serializer__ = SchemaSerializer(serializer=Model( ModelSeri... name: "ImageUrl", }, ), definitions=[])
__pydantic_setattr_handlers__ = {}
__pydantic_validator__ = SchemaValidator(title="ImageUrl", validator=Mode...l", }, ), definitions=[], cache_strings=True)
__signature__ = <Signature (*, url: str, detail: Optional[gen_ai...ltimodal_items.ImageDetailLevel] = None) -> None>
model_config = {'extra': 'forbid', 'frozen': False}

Methods inherited from gen_ai_hub.orchestration_v2.models.base.ABCBaseModel:
model_dump(self, **kwargs)
Dumps the model to a dictionary with default settings.

Data descriptors inherited from gen_ai_hub.orchestration_v2.models.base.ABCBaseModel:
__weakref__
list of weak references to the object (if defined)

Methods inherited from pydantic.main.BaseModel:
__copy__(self) -> 'Self'
Returns a shallow copy of the model.
__deepcopy__(self, memo: 'dict[int, Any] | None' = None) -> 'Self'
Returns a deep copy of the model.
__delattr__(self, item: 'str') -> 'Any'
Implement delattr(self, name).
__eq__(self, other: 'Any') -> 'bool'
Return self==value.
__getattr__(self, item: 'str') -> 'Any'
__getstate__(self) -> 'dict[Any, Any]'
__init__(self, /, **data: 'Any') -> 'None'
Create a new model by parsing and validating input data from keyword arguments.
 
Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be
validated to form a valid model.
 
`self` is explicitly positional-only to allow `self` as a field name.
__iter__(self) -> 'TupleGenerator'
So `dict(model)` works.
__pretty__(self, fmt: 'Callable[[Any], Any]', **kwargs: 'Any') -> 'Generator[Any]'
Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.
__replace__(self, **changes: 'Any') -> 'Self'
# Because we make use of `@dataclass_transform()`, `__replace__` is already synthesized by
# type checkers, so we define the implementation in this `if not TYPE_CHECKING:` block:
__repr__(self) -> 'str'
Return repr(self).
__repr_args__(self) -> '_repr.ReprArgs'
__repr_name__(self) -> 'str'
Name of the instance's class, used in __repr__.
__repr_recursion__(self, object: 'Any') -> 'str'
Returns the string representation of a recursive object.
__repr_str__(self, join_str: 'str') -> 'str'
__rich_repr__(self) -> 'RichReprResult'
Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.
__setattr__(self, name: 'str', value: 'Any') -> 'None'
Implement setattr(self, name, value).
__setstate__(self, state: 'dict[Any, Any]') -> 'None'
__str__(self) -> 'str'
Return str(self).
copy(self, *, include: 'AbstractSetIntStr | MappingIntStrAny | None' = None, exclude: 'AbstractSetIntStr | MappingIntStrAny | None' = None, update: 'Dict[str, Any] | None' = None, deep: 'bool' = False) -> 'Self'
Returns a copy of the model.
 
!!! warning "Deprecated"
    This method is now deprecated; use `model_copy` instead.
 
If you need `include` or `exclude`, use:
 
```python {test="skip" lint="skip"}
data = self.model_dump(include=include, exclude=exclude, round_trip=True)
data = {**data, **(update or {})}
copied = self.model_validate(data)
```
 
Args:
    include: Optional set or mapping specifying which fields to include in the copied model.
    exclude: Optional set or mapping specifying which fields to exclude in the copied model.
    update: Optional dictionary of field-value pairs to override field values in the copied model.
    deep: If True, the values of fields that are Pydantic models will be deep-copied.
 
Returns:
    A copy of the model with included, excluded and updated fields as specified.
dict(self, *, include: 'IncEx | None' = None, exclude: 'IncEx | None' = None, by_alias: 'bool' = False, exclude_unset: 'bool' = False, exclude_defaults: 'bool' = False, exclude_none: 'bool' = False) -> 'Dict[str, Any]'
json(self, *, include: 'IncEx | None' = None, exclude: 'IncEx | None' = None, by_alias: 'bool' = False, exclude_unset: 'bool' = False, exclude_defaults: 'bool' = False, exclude_none: 'bool' = False, encoder: 'Callable[[Any], Any] | None' = PydanticUndefined, models_as_dict: 'bool' = PydanticUndefined, **dumps_kwargs: 'Any') -> 'str'
model_copy(self, *, update: 'Mapping[str, Any] | None' = None, deep: 'bool' = False) -> 'Self'
!!! abstract "Usage Documentation"
    [`model_copy`](../concepts/models.md#model-copy)
 
Returns a copy of the model.
 
!!! note
    The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
    might have unexpected side effects if you store anything in it, on top of the model
    fields (e.g. the value of [cached properties][functools.cached_property]).
 
Args:
    update: Values to change/add in the new model. Note: the data is not validated
        before creating the new model. You should trust this data.
    deep: Set to `True` to make a deep copy of the model.
 
Returns:
    New model instance.
model_dump_json(self, *, indent: 'int | None' = None, ensure_ascii: 'bool' = False, include: 'IncEx | None' = None, exclude: 'IncEx | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, exclude_unset: 'bool' = False, exclude_defaults: 'bool' = False, exclude_none: 'bool' = False, exclude_computed_fields: 'bool' = False, round_trip: 'bool' = False, warnings: "bool | Literal['none', 'warn', 'error']" = True, fallback: 'Callable[[Any], Any] | None' = None, serialize_as_any: 'bool' = False) -> 'str'
!!! abstract "Usage Documentation"
    [`model_dump_json`](../concepts/serialization.md#json-mode)
 
Generates a JSON representation of the model using Pydantic's `to_json` method.
 
Args:
    indent: Indentation to use in the JSON output. If None is passed, the output will be compact.
    ensure_ascii: If `True`, the output is guaranteed to have all incoming non-ASCII characters escaped.
        If `False` (the default), these characters will be output as-is.
    include: Field(s) to include in the JSON output.
    exclude: Field(s) to exclude from the JSON output.
    context: Additional context to pass to the serializer.
    by_alias: Whether to serialize using field aliases.
    exclude_unset: Whether to exclude fields that have not been explicitly set.
    exclude_defaults: Whether to exclude fields that are set to their default value.
    exclude_none: Whether to exclude fields that have a value of `None`.
    exclude_computed_fields: Whether to exclude computed fields.
        While this can be useful for round-tripping, it is usually recommended to use the dedicated
        `round_trip` parameter instead.
    round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T].
    warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors,
        "error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError].
    fallback: A function to call when an unknown value is encountered. If not provided,
        a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised.
    serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.
 
Returns:
    A JSON string representation of the model.
model_post_init(self, context: 'Any', /) -> 'None'
Override this method to perform additional initialization after `__init__` and `model_construct`.
This is useful if you want to do some validation that requires the entire model to be initialized.

Class methods inherited from pydantic.main.BaseModel:
__class_getitem__(typevar_values: 'type[Any] | tuple[type[Any], ...]') -> 'type[BaseModel] | _forward_ref.PydanticRecursiveRef' from pydantic._internal._model_construction.ModelMetaclass
__get_pydantic_core_schema__(source: 'type[BaseModel]', handler: 'GetCoreSchemaHandler', /) -> 'CoreSchema' from pydantic._internal._model_construction.ModelMetaclass
__get_pydantic_json_schema__(core_schema: 'CoreSchema', handler: 'GetJsonSchemaHandler', /) -> 'JsonSchemaValue' from pydantic._internal._model_construction.ModelMetaclass
Hook into generating the model's JSON schema.
 
Args:
    core_schema: A `pydantic-core` CoreSchema.
        You can ignore this argument and call the handler with a new CoreSchema,
        wrap this CoreSchema (`{'type': 'nullable', 'schema': current_schema}`),
        or just call the handler with the original schema.
    handler: Call into Pydantic's internal JSON schema generation.
        This will raise a `pydantic.errors.PydanticInvalidForJsonSchema` if JSON schema
        generation fails.
        Since this gets called by `BaseModel.model_json_schema` you can override the
        `schema_generator` argument to that function to change JSON schema generation globally
        for a type.
 
Returns:
    A JSON schema, as a Python object.
__pydantic_init_subclass__(**kwargs: 'Any') -> 'None' from pydantic._internal._model_construction.ModelMetaclass
This is intended to behave just like `__init_subclass__`, but is called by `ModelMetaclass`
only after basic class initialization is complete. In particular, attributes like `model_fields` will
be present when this is called, but forward annotations are not guaranteed to be resolved yet,
meaning that creating an instance of the class may fail.
 
This is necessary because `__init_subclass__` will always be called by `type.__new__`,
and it would require a prohibitively large refactor to the `ModelMetaclass` to ensure that
`type.__new__` was called in such a manner that the class would already be sufficiently initialized.
 
This will receive the same `kwargs` that would be passed to the standard `__init_subclass__`, namely,
any kwargs passed to the class definition that aren't used internally by Pydantic.
 
Args:
    **kwargs: Any keyword arguments passed to the class definition that aren't used internally
        by Pydantic.
 
Note:
    You may want to override [`__pydantic_on_complete__()`][pydantic.main.BaseModel.__pydantic_on_complete__]
    instead, which is called once the class and its fields are fully initialized and ready for validation.
__pydantic_on_complete__() -> 'None' from pydantic._internal._model_construction.ModelMetaclass
This is called once the class and its fields are fully initialized and ready to be used.
 
This typically happens when the class is created (just before
[`__pydantic_init_subclass__()`][pydantic.main.BaseModel.__pydantic_init_subclass__] is called on the superclass),
except when forward annotations are used that could not immediately be resolved.
In that case, it will be called later, when the model is rebuilt automatically or explicitly using
[`model_rebuild()`][pydantic.main.BaseModel.model_rebuild].
construct(_fields_set: 'set[str] | None' = None, **values: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
from_orm(obj: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
model_construct(_fields_set: 'set[str] | None' = None, **values: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
Creates a new instance of the `Model` class with validated data.
 
Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
Default values are respected, but no other validation is performed.
 
!!! note
    `model_construct()` generally respects the `model_config.extra` setting on the provided model.
    That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
    and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
    Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
    an error if extra values are passed, but they will be ignored.
 
Args:
    _fields_set: A set of field names that were originally explicitly set during instantiation. If provided,
        this is directly used for the [`model_fields_set`][pydantic.BaseModel.model_fields_set] attribute.
        Otherwise, the field names from the `values` argument will be used.
    values: Trusted or pre-validated data dictionary.
 
Returns:
    A new instance of the `Model` class with validated data.
model_json_schema(by_alias: 'bool' = True, ref_template: 'str' = '#/$defs/{model}', schema_generator: 'type[GenerateJsonSchema]' = <class 'pydantic.json_schema.GenerateJsonSchema'>, mode: 'JsonSchemaMode' = 'validation', *, union_format: "Literal['any_of', 'primitive_type_array']" = 'any_of') -> 'dict[str, Any]' from pydantic._internal._model_construction.ModelMetaclass
Generates a JSON schema for a model class.
 
Args:
    by_alias: Whether to use attribute aliases or not.
    ref_template: The reference template.
    union_format: The format to use when combining schemas from unions together. Can be one of:
 
        - `'any_of'`: Use the [`anyOf`](https://json-schema.org/understanding-json-schema/reference/combining#anyOf)
        keyword to combine schemas (the default).
        - `'primitive_type_array'`: Use the [`type`](https://json-schema.org/understanding-json-schema/reference/type)
        keyword as an array of strings, containing each type of the combination. If any of the schemas is not a primitive
        type (`string`, `boolean`, `null`, `integer` or `number`) or contains constraints/metadata, falls back to
        `any_of`.
    schema_generator: To override the logic used to generate the JSON schema, as a subclass of
        `GenerateJsonSchema` with your desired modifications
    mode: The mode in which to generate the schema.
 
Returns:
    The JSON schema for the given model class.
model_parametrized_name(params: 'tuple[type[Any], ...]') -> 'str' from pydantic._internal._model_construction.ModelMetaclass
Compute the class name for parametrizations of generic classes.
 
This method can be overridden to achieve a custom naming scheme for generic BaseModels.
 
Args:
    params: Tuple of types of the class. Given a generic class
        `Model` with 2 type variables and a concrete model `Model[str, int]`,
        the value `(str, int)` would be passed to `params`.
 
Returns:
    String representing the new class where `params` are passed to `cls` as type variables.
 
Raises:
    TypeError: Raised when trying to generate concrete names for non-generic models.
model_rebuild(*, force: 'bool' = False, raise_errors: 'bool' = True, _parent_namespace_depth: 'int' = 2, _types_namespace: 'MappingNamespace | None' = None) -> 'bool | None' from pydantic._internal._model_construction.ModelMetaclass
Try to rebuild the pydantic-core schema for the model.
 
This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
the initial attempt to build the schema, and automatic rebuilding fails.
 
Args:
    force: Whether to force the rebuilding of the model schema, defaults to `False`.
    raise_errors: Whether to raise errors, defaults to `True`.
    _parent_namespace_depth: The depth level of the parent namespace, defaults to 2.
    _types_namespace: The types namespace, defaults to `None`.
 
Returns:
    Returns `None` if the schema is already "complete" and rebuilding was not required.
    If rebuilding _was_ required, returns `True` if rebuilding was successful, otherwise `False`.
model_validate(obj: 'Any', *, strict: 'bool | None' = None, extra: 'ExtraValues | None' = None, from_attributes: 'bool | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, by_name: 'bool | None' = None) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
Validate a pydantic model instance.
 
Args:
    obj: The object to validate.
    strict: Whether to enforce types strictly.
    extra: Whether to ignore, allow, or forbid extra data during model validation.
        See the [`extra` configuration value][pydantic.ConfigDict.extra] for details.
    from_attributes: Whether to extract data from object attributes.
    context: Additional context to pass to the validator.
    by_alias: Whether to use the field's alias when validating against the provided input data.
    by_name: Whether to use the field's name when validating against the provided input data.
 
Raises:
    ValidationError: If the object could not be validated.
 
Returns:
    The validated model instance.
model_validate_json(json_data: 'str | bytes | bytearray', *, strict: 'bool | None' = None, extra: 'ExtraValues | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, by_name: 'bool | None' = None) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
!!! abstract "Usage Documentation"
    [JSON Parsing](../concepts/json.md#json-parsing)
 
Validate the given JSON data against the Pydantic model.
 
Args:
    json_data: The JSON data to validate.
    strict: Whether to enforce types strictly.
    extra: Whether to ignore, allow, or forbid extra data during model validation.
        See the [`extra` configuration value][pydantic.ConfigDict.extra] for details.
    context: Extra variables to pass to the validator.
    by_alias: Whether to use the field's alias when validating against the provided input data.
    by_name: Whether to use the field's name when validating against the provided input data.
 
Returns:
    The validated Pydantic model.
 
Raises:
    ValidationError: If `json_data` is not a JSON string or the object could not be validated.
model_validate_strings(obj: 'Any', *, strict: 'bool | None' = None, extra: 'ExtraValues | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, by_name: 'bool | None' = None) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
Validate the given object with string data against the Pydantic model.
 
Args:
    obj: The object containing string data to validate.
    strict: Whether to enforce types strictly.
    extra: Whether to ignore, allow, or forbid extra data during model validation.
        See the [`extra` configuration value][pydantic.ConfigDict.extra] for details.
    context: Extra variables to pass to the validator.
    by_alias: Whether to use the field's alias when validating against the provided input data.
    by_name: Whether to use the field's name when validating against the provided input data.
 
Returns:
    The validated Pydantic model.
parse_file(path: 'str | Path', *, content_type: 'str | None' = None, encoding: 'str' = 'utf8', proto: 'DeprecatedParseProtocol | None' = None, allow_pickle: 'bool' = False) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
parse_obj(obj: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
parse_raw(b: 'str | bytes', *, content_type: 'str | None' = None, encoding: 'str' = 'utf8', proto: 'DeprecatedParseProtocol | None' = None, allow_pickle: 'bool' = False) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
schema(by_alias: 'bool' = True, ref_template: 'str' = '#/$defs/{model}') -> 'Dict[str, Any]' from pydantic._internal._model_construction.ModelMetaclass
schema_json(*, by_alias: 'bool' = True, ref_template: 'str' = '#/$defs/{model}', **dumps_kwargs: 'Any') -> 'str' from pydantic._internal._model_construction.ModelMetaclass
update_forward_refs(**localns: 'Any') -> 'None' from pydantic._internal._model_construction.ModelMetaclass
validate(value: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass

Readonly properties inherited from pydantic.main.BaseModel:
__fields_set__
model_extra
Get extra fields set during validation.
 
Returns:
    A dictionary of extra fields, or `None` if `config.extra` is not set to `"allow"`.
model_fields_set
Returns the set of fields that have been explicitly set on this model instance.
 
Returns:
    A set of strings representing the fields that have been set,
        i.e. that were not filled from defaults.

Data descriptors inherited from pydantic.main.BaseModel:
__dict__
dictionary for instance variables (if defined)
__pydantic_extra__
__pydantic_fields_set__
__pydantic_private__

Data and other attributes inherited from pydantic.main.BaseModel:
__hash__ = None
__pydantic_root_model__ = False
model_computed_fields = {}
model_fields = {'detail': FieldInfo(annotation=Union[ImageDetailLevel, NoneType], required=False, default=None), 'url': FieldInfo(annotation=str, required=True)}

 
class TextPart(gen_ai_hub.orchestration_v2.models.base.ABCBaseModel)
    TextPart(*, text: str, type: Literal['text'] = 'text') -&gt; None
 
Represents a text segment within a multimodal content block.
 
Args:
    text: The string content of the text part.
 
    type: The type identifier, defaulting to "text".
 
 
Method resolution order:
TextPart
gen_ai_hub.orchestration_v2.models.base.ABCBaseModel
pydantic.main.BaseModel
abc.ABC
builtins.object

Data and other attributes defined here:
__abstractmethods__ = frozenset()
__annotations__ = {'text': <class 'str'>, 'type_': typing.Literal['text']}
__class_vars__ = set()
__private_attributes__ = {}
__pydantic_complete__ = True
__pydantic_computed_fields__ = {}
__pydantic_core_schema__ = {'cls': <class 'gen_ai_hub.orchestration_v2.models.multimodal_items.TextPart'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'TextPart'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_sche...hestration_v2.models.multimodal_items.TextPart'>>]}, 'ref': 'gen_ai_hub.orchestration_v2.models.multimodal_items.TextPart:139913247066704', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'text': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type_': {'metadata': {}, 'schema': {'default': 'text', 'schema': {'expected': [...], 'type': 'literal'}, 'type': 'default'}, 'serialization_alias': 'type', 'type': 'model-field', 'validation_alias': 'type'}}, 'model_name': 'TextPart', 'type': 'model-fields'}, 'type': 'model'}
__pydantic_custom_init__ = False
__pydantic_decorators__ = DecoratorInfos(validators={}, field_validators={...zers={}, model_validators={}, computed_fields={})
__pydantic_fields__ = {'text': FieldInfo(annotation=str, required=True), 'type_': FieldInfo(annotation=Literal['text'], required=F..., default='text', alias='type', alias_priority=2)}
__pydantic_generic_metadata__ = {'args': (), 'origin': None, 'parameters': ()}
__pydantic_parent_namespace__ = None
__pydantic_post_init__ = None
__pydantic_serializer__ = SchemaSerializer(serializer=Model( ModelSeri... name: "TextPart", }, ), definitions=[])
__pydantic_setattr_handlers__ = {}
__pydantic_validator__ = SchemaValidator(title="TextPart", validator=Mode...t", }, ), definitions=[], cache_strings=True)
__signature__ = <Signature (*, text: str, type: Literal['text'] = 'text') -> None>
model_config = {'extra': 'forbid', 'frozen': False}

Methods inherited from gen_ai_hub.orchestration_v2.models.base.ABCBaseModel:
model_dump(self, **kwargs)
Dumps the model to a dictionary with default settings.

Data descriptors inherited from gen_ai_hub.orchestration_v2.models.base.ABCBaseModel:
__weakref__
list of weak references to the object (if defined)

Methods inherited from pydantic.main.BaseModel:
__copy__(self) -> 'Self'
Returns a shallow copy of the model.
__deepcopy__(self, memo: 'dict[int, Any] | None' = None) -> 'Self'
Returns a deep copy of the model.
__delattr__(self, item: 'str') -> 'Any'
Implement delattr(self, name).
__eq__(self, other: 'Any') -> 'bool'
Return self==value.
__getattr__(self, item: 'str') -> 'Any'
__getstate__(self) -> 'dict[Any, Any]'
__init__(self, /, **data: 'Any') -> 'None'
Create a new model by parsing and validating input data from keyword arguments.
 
Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be
validated to form a valid model.
 
`self` is explicitly positional-only to allow `self` as a field name.
__iter__(self) -> 'TupleGenerator'
So `dict(model)` works.
__pretty__(self, fmt: 'Callable[[Any], Any]', **kwargs: 'Any') -> 'Generator[Any]'
Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.
__replace__(self, **changes: 'Any') -> 'Self'
# Because we make use of `@dataclass_transform()`, `__replace__` is already synthesized by
# type checkers, so we define the implementation in this `if not TYPE_CHECKING:` block:
__repr__(self) -> 'str'
Return repr(self).
__repr_args__(self) -> '_repr.ReprArgs'
__repr_name__(self) -> 'str'
Name of the instance's class, used in __repr__.
__repr_recursion__(self, object: 'Any') -> 'str'
Returns the string representation of a recursive object.
__repr_str__(self, join_str: 'str') -> 'str'
__rich_repr__(self) -> 'RichReprResult'
Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.
__setattr__(self, name: 'str', value: 'Any') -> 'None'
Implement setattr(self, name, value).
__setstate__(self, state: 'dict[Any, Any]') -> 'None'
__str__(self) -> 'str'
Return str(self).
copy(self, *, include: 'AbstractSetIntStr | MappingIntStrAny | None' = None, exclude: 'AbstractSetIntStr | MappingIntStrAny | None' = None, update: 'Dict[str, Any] | None' = None, deep: 'bool' = False) -> 'Self'
Returns a copy of the model.
 
!!! warning "Deprecated"
    This method is now deprecated; use `model_copy` instead.
 
If you need `include` or `exclude`, use:
 
```python {test="skip" lint="skip"}
data = self.model_dump(include=include, exclude=exclude, round_trip=True)
data = {**data, **(update or {})}
copied = self.model_validate(data)
```
 
Args:
    include: Optional set or mapping specifying which fields to include in the copied model.
    exclude: Optional set or mapping specifying which fields to exclude in the copied model.
    update: Optional dictionary of field-value pairs to override field values in the copied model.
    deep: If True, the values of fields that are Pydantic models will be deep-copied.
 
Returns:
    A copy of the model with included, excluded and updated fields as specified.
dict(self, *, include: 'IncEx | None' = None, exclude: 'IncEx | None' = None, by_alias: 'bool' = False, exclude_unset: 'bool' = False, exclude_defaults: 'bool' = False, exclude_none: 'bool' = False) -> 'Dict[str, Any]'
json(self, *, include: 'IncEx | None' = None, exclude: 'IncEx | None' = None, by_alias: 'bool' = False, exclude_unset: 'bool' = False, exclude_defaults: 'bool' = False, exclude_none: 'bool' = False, encoder: 'Callable[[Any], Any] | None' = PydanticUndefined, models_as_dict: 'bool' = PydanticUndefined, **dumps_kwargs: 'Any') -> 'str'
model_copy(self, *, update: 'Mapping[str, Any] | None' = None, deep: 'bool' = False) -> 'Self'
!!! abstract "Usage Documentation"
    [`model_copy`](../concepts/models.md#model-copy)
 
Returns a copy of the model.
 
!!! note
    The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
    might have unexpected side effects if you store anything in it, on top of the model
    fields (e.g. the value of [cached properties][functools.cached_property]).
 
Args:
    update: Values to change/add in the new model. Note: the data is not validated
        before creating the new model. You should trust this data.
    deep: Set to `True` to make a deep copy of the model.
 
Returns:
    New model instance.
model_dump_json(self, *, indent: 'int | None' = None, ensure_ascii: 'bool' = False, include: 'IncEx | None' = None, exclude: 'IncEx | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, exclude_unset: 'bool' = False, exclude_defaults: 'bool' = False, exclude_none: 'bool' = False, exclude_computed_fields: 'bool' = False, round_trip: 'bool' = False, warnings: "bool | Literal['none', 'warn', 'error']" = True, fallback: 'Callable[[Any], Any] | None' = None, serialize_as_any: 'bool' = False) -> 'str'
!!! abstract "Usage Documentation"
    [`model_dump_json`](../concepts/serialization.md#json-mode)
 
Generates a JSON representation of the model using Pydantic's `to_json` method.
 
Args:
    indent: Indentation to use in the JSON output. If None is passed, the output will be compact.
    ensure_ascii: If `True`, the output is guaranteed to have all incoming non-ASCII characters escaped.
        If `False` (the default), these characters will be output as-is.
    include: Field(s) to include in the JSON output.
    exclude: Field(s) to exclude from the JSON output.
    context: Additional context to pass to the serializer.
    by_alias: Whether to serialize using field aliases.
    exclude_unset: Whether to exclude fields that have not been explicitly set.
    exclude_defaults: Whether to exclude fields that are set to their default value.
    exclude_none: Whether to exclude fields that have a value of `None`.
    exclude_computed_fields: Whether to exclude computed fields.
        While this can be useful for round-tripping, it is usually recommended to use the dedicated
        `round_trip` parameter instead.
    round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T].
    warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors,
        "error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError].
    fallback: A function to call when an unknown value is encountered. If not provided,
        a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised.
    serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.
 
Returns:
    A JSON string representation of the model.
model_post_init(self, context: 'Any', /) -> 'None'
Override this method to perform additional initialization after `__init__` and `model_construct`.
This is useful if you want to do some validation that requires the entire model to be initialized.

Class methods inherited from pydantic.main.BaseModel:
__class_getitem__(typevar_values: 'type[Any] | tuple[type[Any], ...]') -> 'type[BaseModel] | _forward_ref.PydanticRecursiveRef' from pydantic._internal._model_construction.ModelMetaclass
__get_pydantic_core_schema__(source: 'type[BaseModel]', handler: 'GetCoreSchemaHandler', /) -> 'CoreSchema' from pydantic._internal._model_construction.ModelMetaclass
__get_pydantic_json_schema__(core_schema: 'CoreSchema', handler: 'GetJsonSchemaHandler', /) -> 'JsonSchemaValue' from pydantic._internal._model_construction.ModelMetaclass
Hook into generating the model's JSON schema.
 
Args:
    core_schema: A `pydantic-core` CoreSchema.
        You can ignore this argument and call the handler with a new CoreSchema,
        wrap this CoreSchema (`{'type': 'nullable', 'schema': current_schema}`),
        or just call the handler with the original schema.
    handler: Call into Pydantic's internal JSON schema generation.
        This will raise a `pydantic.errors.PydanticInvalidForJsonSchema` if JSON schema
        generation fails.
        Since this gets called by `BaseModel.model_json_schema` you can override the
        `schema_generator` argument to that function to change JSON schema generation globally
        for a type.
 
Returns:
    A JSON schema, as a Python object.
__pydantic_init_subclass__(**kwargs: 'Any') -> 'None' from pydantic._internal._model_construction.ModelMetaclass
This is intended to behave just like `__init_subclass__`, but is called by `ModelMetaclass`
only after basic class initialization is complete. In particular, attributes like `model_fields` will
be present when this is called, but forward annotations are not guaranteed to be resolved yet,
meaning that creating an instance of the class may fail.
 
This is necessary because `__init_subclass__` will always be called by `type.__new__`,
and it would require a prohibitively large refactor to the `ModelMetaclass` to ensure that
`type.__new__` was called in such a manner that the class would already be sufficiently initialized.
 
This will receive the same `kwargs` that would be passed to the standard `__init_subclass__`, namely,
any kwargs passed to the class definition that aren't used internally by Pydantic.
 
Args:
    **kwargs: Any keyword arguments passed to the class definition that aren't used internally
        by Pydantic.
 
Note:
    You may want to override [`__pydantic_on_complete__()`][pydantic.main.BaseModel.__pydantic_on_complete__]
    instead, which is called once the class and its fields are fully initialized and ready for validation.
__pydantic_on_complete__() -> 'None' from pydantic._internal._model_construction.ModelMetaclass
This is called once the class and its fields are fully initialized and ready to be used.
 
This typically happens when the class is created (just before
[`__pydantic_init_subclass__()`][pydantic.main.BaseModel.__pydantic_init_subclass__] is called on the superclass),
except when forward annotations are used that could not immediately be resolved.
In that case, it will be called later, when the model is rebuilt automatically or explicitly using
[`model_rebuild()`][pydantic.main.BaseModel.model_rebuild].
construct(_fields_set: 'set[str] | None' = None, **values: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
from_orm(obj: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
model_construct(_fields_set: 'set[str] | None' = None, **values: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
Creates a new instance of the `Model` class with validated data.
 
Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
Default values are respected, but no other validation is performed.
 
!!! note
    `model_construct()` generally respects the `model_config.extra` setting on the provided model.
    That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
    and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
    Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
    an error if extra values are passed, but they will be ignored.
 
Args:
    _fields_set: A set of field names that were originally explicitly set during instantiation. If provided,
        this is directly used for the [`model_fields_set`][pydantic.BaseModel.model_fields_set] attribute.
        Otherwise, the field names from the `values` argument will be used.
    values: Trusted or pre-validated data dictionary.
 
Returns:
    A new instance of the `Model` class with validated data.
model_json_schema(by_alias: 'bool' = True, ref_template: 'str' = '#/$defs/{model}', schema_generator: 'type[GenerateJsonSchema]' = <class 'pydantic.json_schema.GenerateJsonSchema'>, mode: 'JsonSchemaMode' = 'validation', *, union_format: "Literal['any_of', 'primitive_type_array']" = 'any_of') -> 'dict[str, Any]' from pydantic._internal._model_construction.ModelMetaclass
Generates a JSON schema for a model class.
 
Args:
    by_alias: Whether to use attribute aliases or not.
    ref_template: The reference template.
    union_format: The format to use when combining schemas from unions together. Can be one of:
 
        - `'any_of'`: Use the [`anyOf`](https://json-schema.org/understanding-json-schema/reference/combining#anyOf)
        keyword to combine schemas (the default).
        - `'primitive_type_array'`: Use the [`type`](https://json-schema.org/understanding-json-schema/reference/type)
        keyword as an array of strings, containing each type of the combination. If any of the schemas is not a primitive
        type (`string`, `boolean`, `null`, `integer` or `number`) or contains constraints/metadata, falls back to
        `any_of`.
    schema_generator: To override the logic used to generate the JSON schema, as a subclass of
        `GenerateJsonSchema` with your desired modifications
    mode: The mode in which to generate the schema.
 
Returns:
    The JSON schema for the given model class.
model_parametrized_name(params: 'tuple[type[Any], ...]') -> 'str' from pydantic._internal._model_construction.ModelMetaclass
Compute the class name for parametrizations of generic classes.
 
This method can be overridden to achieve a custom naming scheme for generic BaseModels.
 
Args:
    params: Tuple of types of the class. Given a generic class
        `Model` with 2 type variables and a concrete model `Model[str, int]`,
        the value `(str, int)` would be passed to `params`.
 
Returns:
    String representing the new class where `params` are passed to `cls` as type variables.
 
Raises:
    TypeError: Raised when trying to generate concrete names for non-generic models.
model_rebuild(*, force: 'bool' = False, raise_errors: 'bool' = True, _parent_namespace_depth: 'int' = 2, _types_namespace: 'MappingNamespace | None' = None) -> 'bool | None' from pydantic._internal._model_construction.ModelMetaclass
Try to rebuild the pydantic-core schema for the model.
 
This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
the initial attempt to build the schema, and automatic rebuilding fails.
 
Args:
    force: Whether to force the rebuilding of the model schema, defaults to `False`.
    raise_errors: Whether to raise errors, defaults to `True`.
    _parent_namespace_depth: The depth level of the parent namespace, defaults to 2.
    _types_namespace: The types namespace, defaults to `None`.
 
Returns:
    Returns `None` if the schema is already "complete" and rebuilding was not required.
    If rebuilding _was_ required, returns `True` if rebuilding was successful, otherwise `False`.
model_validate(obj: 'Any', *, strict: 'bool | None' = None, extra: 'ExtraValues | None' = None, from_attributes: 'bool | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, by_name: 'bool | None' = None) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
Validate a pydantic model instance.
 
Args:
    obj: The object to validate.
    strict: Whether to enforce types strictly.
    extra: Whether to ignore, allow, or forbid extra data during model validation.
        See the [`extra` configuration value][pydantic.ConfigDict.extra] for details.
    from_attributes: Whether to extract data from object attributes.
    context: Additional context to pass to the validator.
    by_alias: Whether to use the field's alias when validating against the provided input data.
    by_name: Whether to use the field's name when validating against the provided input data.
 
Raises:
    ValidationError: If the object could not be validated.
 
Returns:
    The validated model instance.
model_validate_json(json_data: 'str | bytes | bytearray', *, strict: 'bool | None' = None, extra: 'ExtraValues | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, by_name: 'bool | None' = None) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
!!! abstract "Usage Documentation"
    [JSON Parsing](../concepts/json.md#json-parsing)
 
Validate the given JSON data against the Pydantic model.
 
Args:
    json_data: The JSON data to validate.
    strict: Whether to enforce types strictly.
    extra: Whether to ignore, allow, or forbid extra data during model validation.
        See the [`extra` configuration value][pydantic.ConfigDict.extra] for details.
    context: Extra variables to pass to the validator.
    by_alias: Whether to use the field's alias when validating against the provided input data.
    by_name: Whether to use the field's name when validating against the provided input data.
 
Returns:
    The validated Pydantic model.
 
Raises:
    ValidationError: If `json_data` is not a JSON string or the object could not be validated.
model_validate_strings(obj: 'Any', *, strict: 'bool | None' = None, extra: 'ExtraValues | None' = None, context: 'Any | None' = None, by_alias: 'bool | None' = None, by_name: 'bool | None' = None) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
Validate the given object with string data against the Pydantic model.
 
Args:
    obj: The object containing string data to validate.
    strict: Whether to enforce types strictly.
    extra: Whether to ignore, allow, or forbid extra data during model validation.
        See the [`extra` configuration value][pydantic.ConfigDict.extra] for details.
    context: Extra variables to pass to the validator.
    by_alias: Whether to use the field's alias when validating against the provided input data.
    by_name: Whether to use the field's name when validating against the provided input data.
 
Returns:
    The validated Pydantic model.
parse_file(path: 'str | Path', *, content_type: 'str | None' = None, encoding: 'str' = 'utf8', proto: 'DeprecatedParseProtocol | None' = None, allow_pickle: 'bool' = False) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
parse_obj(obj: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
parse_raw(b: 'str | bytes', *, content_type: 'str | None' = None, encoding: 'str' = 'utf8', proto: 'DeprecatedParseProtocol | None' = None, allow_pickle: 'bool' = False) -> 'Self' from pydantic._internal._model_construction.ModelMetaclass
schema(by_alias: 'bool' = True, ref_template: 'str' = '#/$defs/{model}') -> 'Dict[str, Any]' from pydantic._internal._model_construction.ModelMetaclass
schema_json(*, by_alias: 'bool' = True, ref_template: 'str' = '#/$defs/{model}', **dumps_kwargs: 'Any') -> 'str' from pydantic._internal._model_construction.ModelMetaclass
update_forward_refs(**localns: 'Any') -> 'None' from pydantic._internal._model_construction.ModelMetaclass
validate(value: 'Any') -> 'Self' from pydantic._internal._model_construction.ModelMetaclass

Readonly properties inherited from pydantic.main.BaseModel:
__fields_set__
model_extra
Get extra fields set during validation.
 
Returns:
    A dictionary of extra fields, or `None` if `config.extra` is not set to `"allow"`.
model_fields_set
Returns the set of fields that have been explicitly set on this model instance.
 
Returns:
    A set of strings representing the fields that have been set,
        i.e. that were not filled from defaults.

Data descriptors inherited from pydantic.main.BaseModel:
__dict__
dictionary for instance variables (if defined)
__pydantic_extra__
__pydantic_fields_set__
__pydantic_private__

Data and other attributes inherited from pydantic.main.BaseModel:
__hash__ = None
__pydantic_root_model__ = False
model_computed_fields = {}
model_fields = {'text': FieldInfo(annotation=str, required=True), 'type_': FieldInfo(annotation=Literal['text'], required=F..., default='text', alias='type', alias_priority=2)}

 
Data
        Any = typing.Any
Callable = typing.Callable
ContentPart = typing.Union[gen_ai_hub.orchestration_v2.models....chestration_v2.models.multimodal_items.ImagePart]
IncEx = typing.Union[set[int], set[str], collections.abc...ng[str, typing.Union[ForwardRef('IncEx'), bool]]]
Literal = typing.Literal
Optional = typing.Optional
Union = typing.Union