# This file was auto-generated by Fern from our API Definition.

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel


class SemanticCacheSettings(UniversalBaseModel):
    """
    Semantic Cache Settings
    """

    semantic_cache_embedding_model: str = pydantic.Field()
    """
    Select the embedding model to use for semantic caching across the gateway. This model will be used to generate embeddings for cache lookups when semantic caching is enabled. The embedding model helps identify semantically similar requests to serve cached responses, improving performance for similar queries.
    """

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow")  # type: ignore # Pydantic v2
    else:

        class Config:
            smart_union = True
            extra = pydantic.Extra.allow
