Skip to content

Commit 8f9c174

Browse files
SBOM pipeline docs (#523)
* Add pipeline setup docs for addon compatibility upgrade processes This hopefully should make that more clear, we should also just make it the default setup from `plural up` * bring back png * Add docs for multi-model configuration This is currently not covered, this will help people understand the tunability of our ai config
1 parent bf4bff7 commit 8f9c174

File tree

3 files changed

+97
-3
lines changed

3 files changed

+97
-3
lines changed

generated/routes.json

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@
149149
},
150150
"/plural-features/k8s-upgrade-assistant/addon-compatibilities": {
151151
"relPath": "/plural-features/k8s-upgrade-assistant/addon-compatibilities.md",
152-
"lastmod": "2025-03-23T01:07:28.000Z"
152+
"lastmod": "2025-08-15T02:39:28.000Z"
153153
},
154154
"/plural-features/k8s-upgrade-assistant/cluster-drain": {
155155
"relPath": "/plural-features/k8s-upgrade-assistant/cluster-drain.md",
@@ -223,6 +223,10 @@
223223
"relPath": "/plural-features/plural-ai/cost.md",
224224
"lastmod": "2025-03-12T14:59:41.000Z"
225225
},
226+
"/plural-features/plural-ai/multi-model-configuration": {
227+
"relPath": "/plural-features/plural-ai/multi-model-configuration.md",
228+
"lastmod": "2025-10-14T19:52:44.000Z"
229+
},
226230
"/plural-features/flows": {
227231
"relPath": "/plural-features/flows/index.md",
228232
"lastmod": "2025-05-11T23:04:59.000Z"
@@ -373,11 +377,11 @@
373377
},
374378
"/resources/architecture": {
375379
"relPath": "/resources/architecture.md",
376-
"lastmod": "2025-08-11T16:06:36.000Z"
380+
"lastmod": "2025-08-11T16:38:17.000Z"
377381
},
378382
"/resources/architecture/gitops-architecture": {
379383
"relPath": "/resources/architecture/gitops-architecture.md",
380-
"lastmod": "2025-08-11T16:06:36.000Z"
384+
"lastmod": "2025-08-11T16:38:17.000Z"
381385
},
382386
"/getting-started/agent-api-reference": {
383387
"relPath": "/overview/agent-api-reference.md",
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
---
2+
title: Configure Against Multiple Providers
3+
description: How to mix and match models to optimize cost and performance
4+
---
5+
6+
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.
7+
8+
## Provider Selection within Plural AI
9+
10+
There are three main usecases where we can differentiate models:
11+
12+
1. High-volume insight inference - usually a smaller, cheaper model is the right choice here (gpt-4.1-mini for instance)
13+
2. 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.
14+
3. 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.
15+
16+
Often toggling these individual can give you the best cost/feature tradeoff for your usecase.
17+
18+
## Example Configuration
19+
20+
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:
21+
22+
23+
```yaml
24+
apiVersion: deployments.plural.sh/v1alpha1
25+
kind: DeploymentSettings
26+
metadata:
27+
name: global
28+
namespace: plrl-deploy-operator # this namespace is required
29+
spec:
30+
ai:
31+
enabled: true
32+
provider: OPENAI # OPENAI gpt-4.1-mini for low-cost, high-volume
33+
embeddingProvider: OPENAI # openai has an embedding model built-in
34+
toolProvider: ANTHROPIC # anthropic for complex tool calling
35+
36+
# example configurations of the various different AI providers supported, its not necessary to
37+
# configure all of them
38+
anthropic:
39+
model: claude-sonnet-4-5
40+
tokenSecretRef:
41+
name: ai-config
42+
key: anthropic
43+
44+
openAI:
45+
tokenSecretRef:
46+
name: ai-config
47+
key: openai
48+
model: gpt-4.1-mini
49+
toolModel: gpt-4.1
50+
51+
azure:
52+
tokenSecretRef:
53+
name: ai-config
54+
key: azure
55+
endpoint: https://plural-openai.openai.azure.com/openai/deployments
56+
apiVersion: '2024-10-21'
57+
58+
vertex:
59+
project: pluralsh-test-384515
60+
location: us-east5
61+
model: anthropic/claude-sonnet-4-5
62+
serviceAccountJsonSecretRef:
63+
name: ai-config
64+
key: vertex
65+
```
66+
67+
{% callout severity="info" %}
68+
All the secretRef's below reference a kubernetes secret defined like:
69+
70+
```yaml
71+
apiVersion: v1
72+
kind: Secret
73+
metadata:
74+
namespace: plrl-deploy-operator
75+
name: ai-config
76+
stringData:
77+
openai: ...
78+
anthropic: ...
79+
azure: ...
80+
vertex: ...
81+
```
82+
{% /callout %}
83+
84+
## Learn More
85+
86+
You can see the full docs for this resource at https://docs.plural.sh/overview/management-api-reference#deploymentsettingsspec

src/routing/docs-structure.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,10 @@ export const docsStructure: DocSection[] = [
140140
{ path: 'setup', title: 'Setup Plural AI' },
141141
{ path: 'architecture', title: 'Plural AI Architecture' },
142142
{ path: 'cost', title: 'Plural AI cost analysis' },
143+
{
144+
path: 'multi-model-configuration',
145+
title: 'Configure Against Multiple Providers',
146+
},
143147
],
144148
},
145149
{

0 commit comments

Comments
 (0)