feat: add custom_metadata to OpenAIModel to unify /v1/models with /v1/openai/v1/models

Goal is to consolidate model listing endpoints. This is step 1: adding custom_metadata
field to OpenAIModel that includes model_type, provider_id, provider_resource_id, and
all model metadata from the native /v1/models response.

Next steps: update stainless client to use /v1/openai/v1/models, migrate tests to read
from custom_metadata, then remove /v1/openai/v1/ prefix entirely.
This commit is contained in:
Ashwin Bharambe 2025-11-03 15:11:58 -08:00
parent 415fd9e36b
commit 3af73b754a
3 changed files with 16 additions and 0 deletions

View file

@ -166,6 +166,14 @@ async def test_models_routing_table(cached_disk_dist_registry):
assert "test_provider/test-model" in openai_model_ids
assert "test_provider/test-model-2" in openai_model_ids
# Verify custom_metadata is populated with Llama Stack-specific data
for openai_model in openai_models.data:
assert openai_model.custom_metadata is not None
assert "model_type" in openai_model.custom_metadata
assert "provider_id" in openai_model.custom_metadata
assert "provider_resource_id" in openai_model.custom_metadata
assert openai_model.custom_metadata["provider_id"] == "test_provider"
# Test get_object_by_identifier
model = await table.get_object_by_identifier("model", "test_provider/test-model")
assert model is not None