diff --git a/label_studio/ml_model_providers/migrations/0006_modelproviderconnection_google_application_credentials_and_more.py b/label_studio/ml_model_providers/migrations/0006_modelproviderconnection_google_application_credentials_and_more.py new file mode 100644 index 000000000000..9af3b889dc7c --- /dev/null +++ b/label_studio/ml_model_providers/migrations/0006_modelproviderconnection_google_application_credentials_and_more.py @@ -0,0 +1,62 @@ +# Generated by Django 5.1.4 on 2025-01-03 20:58 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ( + "ml_model_providers", + "0005_modelproviderconnection_budget_alert_threshold_and_more", + ), + ] + + operations = [ + migrations.AddField( + model_name="modelproviderconnection", + name="google_application_credentials", + field=models.TextField( + blank=True, + help_text="The content of GOOGLE_APPLICATION_CREDENTIALS json file", + null=True, + verbose_name="google application credentials", + ), + ), + migrations.AddField( + model_name="modelproviderconnection", + name="google_location", + field=models.CharField( + blank=True, + help_text="Google project location", + max_length=255, + null=True, + verbose_name="google location", + ), + ), + migrations.AddField( + model_name="modelproviderconnection", + name="google_project_id", + field=models.CharField( + blank=True, + help_text="Google project ID", + max_length=255, + null=True, + verbose_name="google project id", + ), + ), + migrations.AlterField( + model_name="modelproviderconnection", + name="provider", + field=models.CharField( + choices=[ + ("OpenAI", "OpenAI"), + ("AzureOpenAI", "AzureOpenAI"), + ("VertexAI", "VertexAI"), + ("Custom", "Custom"), + ], + default="OpenAI", + max_length=255, + ), + ), + ] diff --git a/label_studio/ml_model_providers/migrations/0007_alter_modelproviderconnection_provider.py b/label_studio/ml_model_providers/migrations/0007_alter_modelproviderconnection_provider.py new file mode 100644 index 000000000000..911f764f3b9f --- /dev/null +++ b/label_studio/ml_model_providers/migrations/0007_alter_modelproviderconnection_provider.py @@ -0,0 +1,31 @@ +# Generated by Django 5.1.4 on 2025-01-10 18:38 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ( + "ml_model_providers", + "0006_modelproviderconnection_google_application_credentials_and_more", + ), + ] + + operations = [ + migrations.AlterField( + model_name="modelproviderconnection", + name="provider", + field=models.CharField( + choices=[ + ("OpenAI", "OpenAI"), + ("AzureOpenAI", "AzureOpenAI"), + ("VertexAI", "VertexAI"), + ("Gemini", "Gemini"), + ("Custom", "Custom"), + ], + default="OpenAI", + max_length=255, + ), + ), + ] diff --git a/label_studio/ml_model_providers/migrations/0008_alter_modelproviderconnection_provider.py b/label_studio/ml_model_providers/migrations/0008_alter_modelproviderconnection_provider.py new file mode 100644 index 000000000000..7cbb55b158c6 --- /dev/null +++ b/label_studio/ml_model_providers/migrations/0008_alter_modelproviderconnection_provider.py @@ -0,0 +1,29 @@ +# Generated by Django 5.1.4 on 2025-01-10 20:15 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("ml_model_providers", "0007_alter_modelproviderconnection_provider"), + ] + + operations = [ + migrations.AlterField( + model_name="modelproviderconnection", + name="provider", + field=models.CharField( + choices=[ + ("OpenAI", "OpenAI"), + ("AzureOpenAI", "AzureOpenAI"), + ("VertexAI", "VertexAI"), + ("Gemini", "Gemini"), + ("Anthropic", "Anthropic"), + ("Custom", "Custom"), + ], + default="OpenAI", + max_length=255, + ), + ), + ] diff --git a/label_studio/ml_model_providers/models.py b/label_studio/ml_model_providers/models.py index eda8223b5eb2..72b6cdd8ce2b 100644 --- a/label_studio/ml_model_providers/models.py +++ b/label_studio/ml_model_providers/models.py @@ -11,6 +11,9 @@ class ModelProviders(models.TextChoices): OPENAI = 'OpenAI', _('OpenAI') AZURE_OPENAI = 'AzureOpenAI', _('AzureOpenAI') + VERTEX_AI = 'VertexAI', _('VertexAI') + GEMINI = 'Gemini', _('Gemini') + ANTHROPIC = 'Anthropic', _('Anthropic') CUSTOM = 'Custom', _('Custom') @@ -32,6 +35,17 @@ class ModelProviderConnection(models.Model): endpoint = models.CharField(max_length=512, null=True, blank=True, help_text='Azure OpenAI endpoint') + google_application_credentials = models.TextField( + _('google application credentials'), + null=True, + blank=True, + help_text='The content of GOOGLE_APPLICATION_CREDENTIALS json file', + ) + + google_project_id = models.CharField(_('google project id'), max_length=255, null=True, blank=True, help_text='Google project ID') + + google_location = models.CharField(_('google location'), max_length=255, null=True, blank=True, help_text='Google project location') + cached_available_models = models.CharField( max_length=4096, null=True, blank=True, help_text='List of available models from the provider' ) diff --git a/label_studio/ml_models/migrations/0013_alter_thirdpartymodelversion_provider.py b/label_studio/ml_models/migrations/0013_alter_thirdpartymodelversion_provider.py new file mode 100644 index 000000000000..5823fc63e085 --- /dev/null +++ b/label_studio/ml_models/migrations/0013_alter_thirdpartymodelversion_provider.py @@ -0,0 +1,28 @@ +# Generated by Django 5.1.4 on 2025-01-03 20:58 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("ml_models", "0012_alter_thirdpartymodelversion_provider"), + ] + + operations = [ + migrations.AlterField( + model_name="thirdpartymodelversion", + name="provider", + field=models.CharField( + choices=[ + ("OpenAI", "OpenAI"), + ("AzureOpenAI", "AzureOpenAI"), + ("VertexAI", "VertexAI"), + ("Custom", "Custom"), + ], + default="OpenAI", + help_text="The model provider to use e.g. OpenAI", + max_length=255, + ), + ), + ] diff --git a/label_studio/ml_models/migrations/0014_alter_thirdpartymodelversion_provider.py b/label_studio/ml_models/migrations/0014_alter_thirdpartymodelversion_provider.py new file mode 100644 index 000000000000..0e5d86397233 --- /dev/null +++ b/label_studio/ml_models/migrations/0014_alter_thirdpartymodelversion_provider.py @@ -0,0 +1,29 @@ +# Generated by Django 5.1.4 on 2025-01-10 18:38 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("ml_models", "0013_alter_thirdpartymodelversion_provider"), + ] + + operations = [ + migrations.AlterField( + model_name="thirdpartymodelversion", + name="provider", + field=models.CharField( + choices=[ + ("OpenAI", "OpenAI"), + ("AzureOpenAI", "AzureOpenAI"), + ("VertexAI", "VertexAI"), + ("Gemini", "Gemini"), + ("Custom", "Custom"), + ], + default="OpenAI", + help_text="The model provider to use e.g. OpenAI", + max_length=255, + ), + ), + ] diff --git a/label_studio/ml_models/migrations/0015_alter_thirdpartymodelversion_provider.py b/label_studio/ml_models/migrations/0015_alter_thirdpartymodelversion_provider.py new file mode 100644 index 000000000000..cc1f678ec170 --- /dev/null +++ b/label_studio/ml_models/migrations/0015_alter_thirdpartymodelversion_provider.py @@ -0,0 +1,30 @@ +# Generated by Django 5.1.4 on 2025-01-10 20:15 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("ml_models", "0014_alter_thirdpartymodelversion_provider"), + ] + + operations = [ + migrations.AlterField( + model_name="thirdpartymodelversion", + name="provider", + field=models.CharField( + choices=[ + ("OpenAI", "OpenAI"), + ("AzureOpenAI", "AzureOpenAI"), + ("VertexAI", "VertexAI"), + ("Gemini", "Gemini"), + ("Anthropic", "Anthropic"), + ("Custom", "Custom"), + ], + default="OpenAI", + help_text="The model provider to use e.g. OpenAI", + max_length=255, + ), + ), + ]