diff --git a/api/src/backend/api/migrations/0050_lighthouse_multi_llm.py b/api/src/backend/api/migrations/0050_lighthouse_multi_llm.py index d3ecb585f4..cf3d185811 100644 --- a/api/src/backend/api/migrations/0050_lighthouse_multi_llm.py +++ b/api/src/backend/api/migrations/0050_lighthouse_multi_llm.py @@ -75,6 +75,7 @@ def migrate_lighthouse_configs_forward(apps, schema_editor): tenant=tenant, provider_configuration=provider_config, model_id=old_config.model, + model_name=old_config.model, default_parameters={}, ) @@ -143,6 +144,7 @@ class Migration(migrations.Migration): ("inserted_at", models.DateTimeField(auto_now_add=True)), ("updated_at", models.DateTimeField(auto_now=True)), ("model_id", models.CharField(max_length=100)), + ("model_name", models.CharField(max_length=100)), ("default_parameters", models.JSONField(blank=True, default=dict)), ], options={ diff --git a/api/src/backend/api/models.py b/api/src/backend/api/models.py index 03e13c724d..aec2f3fabf 100644 --- a/api/src/backend/api/models.py +++ b/api/src/backend/api/models.py @@ -2137,6 +2137,9 @@ class LighthouseProviderModels(RowLevelSecurityProtectedModel): ) model_id = models.CharField(max_length=100) + # Human-friendly model name + model_name = models.CharField(max_length=100) + # Model-specific default parameters (e.g., temperature, max_tokens) default_parameters = models.JSONField(default=dict, blank=True) diff --git a/api/src/backend/api/v1/serializers.py b/api/src/backend/api/v1/serializers.py index 785015a2b1..a87411bbfb 100644 --- a/api/src/backend/api/v1/serializers.py +++ b/api/src/backend/api/v1/serializers.py @@ -3276,6 +3276,7 @@ class LighthouseProviderModelsSerializer(RLSSerializer): "updated_at", "provider_configuration", "model_id", + "model_name", "default_parameters", "url", ] diff --git a/api/src/backend/tasks/jobs/lighthouse_providers.py b/api/src/backend/tasks/jobs/lighthouse_providers.py index 3f1163b093..1a68a5c1e2 100644 --- a/api/src/backend/tasks/jobs/lighthouse_providers.py +++ b/api/src/backend/tasks/jobs/lighthouse_providers.py @@ -141,7 +141,10 @@ def refresh_lighthouse_provider_models(provider_config_id: str) -> Dict: tenant_id=provider_cfg.tenant_id, provider_configuration=provider_cfg, model_id=model_id, - defaults={"default_parameters": {}}, + defaults={ + "model_name": model_id, # OpenAI doesn't return a separate display name + "default_parameters": {}, + }, ) if was_created: created += 1