aidial_sdk/embeddings/request.py (24 lines of code) (raw):
from typing import List, Literal, Optional, Union
from aidial_sdk.chat_completion.request import Attachment
from aidial_sdk.deployment.from_request_mixin import FromRequestDeploymentMixin
from aidial_sdk.pydantic_v1 import StrictInt, StrictStr
from aidial_sdk.utils.pydantic import ExtraForbidModel
class AzureEmbeddingsRequest(ExtraForbidModel):
model: Optional[StrictStr] = None
input: Union[
StrictStr, List[StrictStr], List[StrictInt], List[List[StrictInt]]
]
encoding_format: Literal["float", "base64"] = "float"
dimensions: Optional[StrictInt] = None
user: Optional[StrictStr] = None
class EmbeddingsRequestCustomFields(ExtraForbidModel):
type: Optional[StrictStr] = None
instruction: Optional[StrictStr] = None
EmbeddingsMultiModalInput = Union[
StrictStr, Attachment, List[Union[StrictStr, Attachment]]
]
class EmbeddingsRequest(AzureEmbeddingsRequest):
custom_input: Optional[List[EmbeddingsMultiModalInput]] = None
custom_fields: Optional[EmbeddingsRequestCustomFields] = None
class Request(EmbeddingsRequest, FromRequestDeploymentMixin):
pass