Configure Against Multiple Providers
How to mix and match models to optimize cost and performance
The current state of GenerativeAI is a sprawl of vendors offering products with different specialties and price points, and its common to have an optimal AI setup involve usage of models across multiple different vendors or multiple models within the same vendor. Plural provides a number of knobs that are designed to make that degree of customization seamless, and compatible w/in a GitOps workflow.
Provider Selection within Plural AI
There are three main usecases where we can differentiate models:
- High-volume insight inference - usually a smaller, cheaper model is the right choice here (gpt-4.1-mini for instance)
- On-demand agentic, tool-calling - this is used in Plural AI chat, pr generation, and similar features within the platform. Here a user very likely will want to use a capable model like Anthropic Claude Sonnet 4.5.
- Embedding - Plural also consistently vector embeds your infra data derived from GitOps and data scraping. Its possible you'll need to configure a dedicated embedding model provider if the base provider doesn't support it.
Often toggling these individual can give you the best cost/feature tradeoff for your usecase.
Example Configuration
To tune your AI configuration, the recommended approach is to do it within a GitOps workflow using our DeploymentSettings
Kubernetes CRD. If you set up Plural with plural up
, this will already be defined for you at bootstrap/settings.yaml
. Here's a basically complete example of how to configure its AI model settings:
apiVersion: deployments.plural.sh/v1alpha1 kind: DeploymentSettings metadata: name: global namespace: plrl-deploy-operator # this namespace is required spec: ai: enabled: true provider: OPENAI # OPENAI gpt-4.1-mini for low-cost, high-volume embeddingProvider: OPENAI # openai has an embedding model built-in toolProvider: ANTHROPIC # anthropic for complex tool calling # example configurations of the various different AI providers supported, its not necessary to # configure all of them anthropic: model: claude-sonnet-4-5 tokenSecretRef: name: ai-config key: anthropic openAI: tokenSecretRef: name: ai-config key: openai model: gpt-4.1-mini toolModel: gpt-4.1 azure: tokenSecretRef: name: ai-config key: azure endpoint: https://plural-openai.openai.azure.com/openai/deployments apiVersion: '2024-10-21' vertex: project: pluralsh-test-384515 location: us-east5 model: anthropic/claude-sonnet-4-5 serviceAccountJsonSecretRef: name: ai-config key: vertex
Info:
All the secretRef's below reference a kubernetes secret defined like:
apiVersion: v1 kind: Secret metadata: namespace: plrl-deploy-operator name: ai-config stringData: openai: ... anthropic: ... azure: ... vertex: ...