From 57745101be4333dab8ddd83454662e598410aefc Mon Sep 17 00:00:00 2001 From: Matthew Farrellee Date: Thu, 17 Jul 2025 11:26:57 -0400 Subject: [PATCH] chore: internal change, make Model.provider_model_id non-optional (#2690) - POST /v1/models accepts optional provider_model_id - ModelsRoutingTable.register_model handler ensures it is non-None, providing a default usage of Model.provider_model_id will no longer need to detect None --- llama_stack/apis/models/models.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/llama_stack/apis/models/models.py b/llama_stack/apis/models/models.py index 36da97e62..2143346d9 100644 --- a/llama_stack/apis/models/models.py +++ b/llama_stack/apis/models/models.py @@ -7,7 +7,7 @@ from enum import StrEnum from typing import Any, Literal, Protocol, runtime_checkable -from pydantic import BaseModel, ConfigDict, Field +from pydantic import BaseModel, ConfigDict, Field, field_validator from llama_stack.apis.resource import Resource, ResourceType from llama_stack.providers.utils.telemetry.trace_protocol import trace_protocol @@ -36,13 +36,21 @@ class Model(CommonModelFields, Resource): return self.identifier @property - def provider_model_id(self) -> str | None: + def provider_model_id(self) -> str: + assert self.provider_resource_id is not None, "Provider resource ID must be set" return self.provider_resource_id model_config = ConfigDict(protected_namespaces=()) model_type: ModelType = Field(default=ModelType.llm) + @field_validator("provider_resource_id") + @classmethod + def validate_provider_resource_id(cls, v): + if v is None: + raise ValueError("provider_resource_id cannot be None") + return v + class ModelInput(CommonModelFields): model_id: str