AI Platform Golden Path β onboarding a project
You do not rebuild the LLMOps stack per project. It's a shared platform β projects plug in, they don't re-provision. This page is the golden path a new AI project (RAG app, copilot, agentβ¦) follows to connect to the platform and inherit governance, EU residency, PII masking and audit for free.
Mental model β platform vs projectβ
The LLMOps stack is shared infrastructure, like Kubernetes itself: you don't reinstall the cluster per app, you deploy onto it.
| Layer | Shared (already running) | The project does |
|---|---|---|
| Gateway | LiteLLM β one endpoint for all | point LITELLM_BASE_URL + get a key |
| Observability | Langfuse | success_callback: langfuse (automatic) |
| Guardrails | Presidio + LlamaGuard on the gateway | nothing β transparent |
| Red-team gate | tests the gateway | nothing (optionally add domain attacks) |
| Vector DB | Qdrant | create its own collection |
| Evaluation | Ragas pattern | provide a golden set + threshold |
| RBAC / budgets | governance matrix + tiers | receive a tier-scoped key |
Plug in, don't rebuild. A new project inherits routing, EU residency, PII masking, RBAC/budgets and the DORA audit trail automatically.
Onboarding checklistβ
1. Classify your data β pick your tierβ
Decide the highest data class the project handles (see the governance matrix): P0 Public Β· P1 Internal Β· P2 Confidential Β· P3 Restricted (PII/regulated). This determines which models you may use.
2. Get a tier-scoped LiteLLM keyβ
Request a virtual key (or a team) scoped to the right tier β e.g. a P2/P3
project gets models: ["onprem","eu"] and can never reach untrusted P0/CN
providers. Keys carry per-consumer budget + tpm/rpm.
# master key from the cluster; issue a scoped team key:
MK=$(kubectl -n ai get secret litellm-credentials -o jsonpath='{.data.master-key}' | base64 -d)
# (team seeding runs as a Job β see the AI Gateway page; keys inherit the team's tier)
3. Point your app at the gatewayβ
One endpoint, OpenAI-compatible. Never call a provider directly.
LITELLM_BASE_URL=http://litellm.ai.svc.cluster.local:4000 # in-cluster
# public: https://litellm.devandre.sbs
LITELLM_API_KEY=<your tier-scoped key>
Use model aliases, not provider SKUs, so you stay provider-agnostic and
governed: mistral-large, bedrock-mistral-large, azure-gpt-4.1-mini,
phi3-financial (on-cluster), mistral-embed (embeddings)β¦
4. (RAG only) create a Qdrant collectionβ
Embed via the gateway (mistral-embed, EU, 1024-dim) and store in your own
Qdrant collection β vector search is CPU-friendly (see
Compute Constraints).
QDRANT_URL=http://qdrant.ai.svc.cluster.local:6333
EMBED_MODEL=mistral-embed # EU/P2, keeps restricted embeddings in the EU
5. Observability is automaticβ
Because you go through LiteLLM, every call is traced in Langfuse (token/cost/model/latency/team) and counted in Prometheus/Grafana (SLO, residency, FinOps). Nothing to wire.
6. Add an evaluation gateβ
Provide a golden set and a threshold; reuse the Ragas eval pattern
(manifests/ai/16-rag-eval-job) as a CI/PostSync gate. Grow the golden set with
the Langfuse annotation workflow.
7. (optional) domain red-teamβ
The platform red-team gate (#312) already tests injection/jailbreak/PII/toxicity against the gateway. Add domain-specific attacks to the suite if your product has its own abuse surface.
What the project actually ownsβ
Only its business logic: the prompt/chain/agent (LangGraph, CrewAI, Expressβ¦), its Qdrant collection + corpus, its golden set, optionally its domain attacks, and its tier-scoped key. Everything else is inherited.
Reference implementationβ
Retrieva (enterprise DORA-RAG) is the reference: it reuses the shared
Qdrant + LiteLLM + Langfuse (embeddings on mistral-embed, no external
Groq), deploys only its own app + MongoDB, and inherits governance/observability.
That's the golden path in action β integrate AI into a product by reusing a
ready platform, not reinventing the tooling. This is also the exact model of the
Ydays IA Integration Lab.
One-line summaryβ
Build the LLMOps stack once (done); each project plugs in β a golden path, not repeated work.