fromtypingimportAwaitable,Callable,Dict,List,Literal,Optional,Unionfromautogen_coreimportComponentModelfromautogen_core.modelsimportModelCapabilities,ModelInfo# type: ignorefrompydanticimportBaseModelfromtyping_extensionsimportRequired,TypedDictclassResponseFormat(TypedDict):type:Literal["text","json_object"]classCreateArguments(TypedDict,total=False):frequency_penalty:Optional[float]logit_bias:Optional[Dict[str,int]]max_tokens:Optional[int]n:Optional[int]presence_penalty:Optional[float]response_format:ResponseFormatseed:Optional[int]stop:Union[Optional[str],List[str]]temperature:Optional[float]top_p:Optional[float]user:strAsyncAzureADTokenProvider=Callable[[],Union[str,Awaitable[str]]]classBaseOpenAIClientConfiguration(CreateArguments,total=False):model:strapi_key:strtimeout:Union[float,None]max_retries:intmodel_capabilities:ModelCapabilities# type: ignoremodel_info:ModelInfo"""What functionality the model supports, determined by default from model name but is overriden if value passed."""# See OpenAI docs for explanation of these parametersclassOpenAIClientConfiguration(BaseOpenAIClientConfiguration,total=False):organization:strbase_url:strclassAzureOpenAIClientConfiguration(BaseOpenAIClientConfiguration,total=False):# Azure specificazure_endpoint:Required[str]azure_deployment:strapi_version:Required[str]azure_ad_token:strazure_ad_token_provider:AsyncAzureADTokenProvider# Or AzureTokenProvider# Pydantic equivalents of the above TypedDicts