Unity Gateway estimates external model spend using each provider's published list prices.
Unity Gateway estimates external model spend using each provider's published list prices. If your organization has negotiated different pricing with a provider, you can now configure a price multiplier on the model provider service so that spend estimates reflect those rates. Price multipliers only apply to external models accessed through model provider services, not Databricks hosted partner models.
resources: model provider services: my provider: parent: schemas/main.default model provider service id: my provider comment: Routes to a custom OpenAI compatible provider config: provider type: EXTERNAL MODEL PROVIDER TYPE CUSTOM targets: model: gpt 4o native api types: [openai/v1/chat/completions] custom: direct: base url: https://api.example.com/v1 api key: plaintext: ${var.provider api key} Create and manage a model provider service with the Databricks SDK for Python: Python from databricks.sdk.service import catalog as c model provider service = w.ai gateway.create model provider service( parent="schemas/main.default", model provider service id="my provider", model provider service=c.ModelProviderService( comment="Routes to a custom OpenAI compatible provider", config=c.ModelProviderServiceConfig( provider type=( c.ModelProviderServiceConfigExternalModelProviderType .EXTERNAL MODEL PROVIDER TYPE CUSTOM ), targets=[ c.ModelProviderServiceConfigModelTargetConfig( model="gpt 4o", native api types=["openai/v1/chat/completions"], ) ], custom=c.ModelProviderServiceConfigCustomProviderConfig( direct=c.ModelProviderServiceConfigCustomProviderDirectConfig( base url="https://api.example.com/v1", api key=c.ModelProviderServiceConfigProviderSecret( plaintext="dummy api key" ), ) ), ), ), ) Create and manage a model provider service with the Databricks SDK for Go: Go modelProviderService, err := w.AiGateway.CreateModelProviderService(ctx, catalog.CreateModelProviderServiceRequest{ Parent: "schemas/main.default", ModelProviderServiceId: "my provider", ModelProviderService: catalog.ModelProviderService{ Comment: "Routes to a custom OpenAI compatible provider", Config: &catalog.ModelProviderServiceConfig{ ProviderType: catalog.ModelProviderServiceConfigExternalModelProviderTypeExternalModelProviderTypeCustom, Targets: []catalog.ModelProviderServiceConfigModelTargetConfig{{ Model: "gpt 4o", NativeApiTypes: []string{"openai/v1/chat/completions"}, }}, Custom: &catalog.ModelProviderServiceConfigCustomProviderConfig{ Direct: &catalog.ModelProviderServiceConfigCustomProviderDirectConfig{ BaseUrl: "https://api.example.com/v1", ApiKey: &catalog.ModelProviderServiceConfigProviderSecret{ Plaintext: "dummy api key", }, }, }, }, }, }) Create and manage a model provider service with the Databricks SDK for Java: Java ModelProviderServiceConfig config = new ModelProviderServiceConfig() .setProviderType( ModelProviderServiceConfigExternalModelProviderType .EXTERNAL MODEL PROVIDER TYPE CUSTOM) .setTargets( Collections.singletonList( new ModelProviderServiceConfigModelTargetConfig() .setModel("gpt 4o") .setNativeApiTypes( Collections.singletonList("openai/v1/chat/completions")))) .setCustom( new ModelProviderServiceConfigCustomProviderConfig() .setDirect( new ModelProviderServiceConfigCustomProviderDirectConfig() .setBaseUrl("https://api.example.com/v1") .setApiKey( new ModelProviderServiceConfigProviderSecret() .setPlaintext("dummy api key")))); ModelProviderService modelProviderService = w.aiGateway() .createModelProviderService( new CreateModelProviderServiceRequest() .setParent("schemas/main.default") .setModelProviderServiceId("my provider") .setModelProviderService( new ModelProviderService() .setComment("Routes to a custom OpenAI compatible provider") .setConfig(config))); Create and manage a model provider service with the Databricks AI Gateway SDK for JavaScript: TypeScript import { ModelProviderServiceConfig ExternalModelProviderType as ProviderType } from '@databricks/sdk aigateway/v1'; const created = await client.createModelProviderService({ parent: 'schemas/main.default', modelProviderServiceId: 'my provider', modelProviderService: { comment: 'Routes to a custom OpenAI compatible provider', config: { providerType: ProviderType.EXTERNAL MODEL PROVIDER TYPE CUSTOM, targets: [{ model: 'gpt 4o', nativeApiTypes: ['openai/v1/chat/completions'] }], provider: { $case: 'custom', custom: { providerMode: { $case: 'direct', direct: { baseUrl: 'https://api.example.com/v1', authMode: { $case: 'apiKey', apiKey: { value: { $case: 'plaintext', plaintext: 'dummy api key' }, }, }, }, }, }, }, }, }, }); For the full list of providers and their authentication methods, see Govern external model providers (model provider services).
Unity Gateway estimates external model spend using each provider's published list prices. If your organization has negotiated different pricing with a provider, you can now configure a price multiplier on the model provider service so that spend estimates…
Read the full documentation ↗