From e8b651003e796ec1239f8b65eb93db7ba99a927f Mon Sep 17 00:00:00 2001 From: Daniil Yarmalkevich Date: Fri, 26 Jun 2026 12:18:29 +0300 Subject: [PATCH] feat: expose typed model/features listing fields (#112) Add typed Pydantic fields for model/features listing fields that DIAL Core returns but the client only accepted via extra-field passthrough: - ModelInfo.embedding_dimensions - Features.chat_completion, Features.responses_api - Features.reasoning_efforts (supersedes reasoning_efforts_supported) - Features.max_tokens_supported, max_completion_tokens_supported, custom_temperature_supported (pre-existing drift) Document the new fields in the README sample responses. --- README.md | 8 ++++++++ aidial_client/types/deployment.py | 6 ++++++ aidial_client/types/model.py | 1 + 3 files changed, 15 insertions(+) diff --git a/README.md b/README.md index bb1fde7..f13d61d 100644 --- a/README.md +++ b/README.md @@ -249,6 +249,9 @@ Deployment( url_attachments=False, folder_attachments=False, allow_resume=True, + chat_completion=True, + responses_api=False, + reasoning_efforts=["low", "medium", "high"], ), defaults={}, ) @@ -806,6 +809,9 @@ As a result, you will receive a list of `Application` objects: url_attachments=False, folder_attachments=False, allow_resume=True, + chat_completion=True, + responses_api=False, + reasoning_efforts=[], ), input_attachment_types=["image/png", "text/txt", "image/jpeg"], defaults={}, @@ -877,6 +883,8 @@ ModelInfo( ) ``` +For embedding models, `ModelInfo` also includes `embedding_dimensions` — the size of the output vector (e.g. `embedding_dimensions=1536`). It is omitted for non-embedding models. + ### User #### Get Authenticated User Info diff --git a/aidial_client/types/deployment.py b/aidial_client/types/deployment.py index 7925a12..80afd1e 100644 --- a/aidial_client/types/deployment.py +++ b/aidial_client/types/deployment.py @@ -26,6 +26,12 @@ class Features(ExtraAllowModel): auto_caching: bool | None = None assistant_attachments_in_request: bool | None = None mcp: bool | None = None + chat_completion: bool | None = None + responses_api: bool | None = None + max_tokens_supported: bool | None = None + max_completion_tokens_supported: bool | None = None + custom_temperature_supported: bool | None = None + reasoning_efforts: list[str] = [] class DeploymentBase(ExtraAllowModel): diff --git a/aidial_client/types/model.py b/aidial_client/types/model.py index 5364b65..86f50a8 100644 --- a/aidial_client/types/model.py +++ b/aidial_client/types/model.py @@ -41,6 +41,7 @@ class ModelInfo(ExtraAllowModel): updated_at: int | None = None lifecycle_status: str | None = None tokenizer_model: str | None = None + embedding_dimensions: int | None = None capabilities: ModelCapabilities | None = None limits: ModelLimits | None = None pricing: ModelPricing | None = None