# Llama Stack sur Red Hat OpenShift AI : L'Architecture Standardisée pour Déployer des Agents GenAI et du RAG en Entreprise

> Guide complet d'architecture pour standardiser et déployer des agents GenAI d'entreprise avec Llama Stack, vLLM, Milvus et OpenShift AI : API unifiée, Tool Calling, Guardrails et Portabilité.

- **Date de publication** : 2026-09-12T08:00:00.000Z

---

L'industrialisation des applications d'intelligence artificielle générative traverse en 2026 une phase de mutation critique. Alors que les entreprises passent de simples interfaces de complétion (*chatbots*) à des **systèmes d'agents autonomes multi-étapes** (*agentic workflows*) connectés à leurs bases de données, SI et APIs métiers, elles se heurtent à une fragmentation technologique insoutenable : multiplication des SDKs propriétaires, couplage fort avec des fournisseurs de cloud spécifiques, incohérence des formats de *tool calling* et absence de standardisation des garde-fous de sécurité.

Pour répondre à ce défi d'interopérabilité et de souveraineté, l'écosystème open source a standardisé une couche pivot : **Llama Stack**. 

Adopté et intégré nativement dans **Red Hat OpenShift AI (RHOAI)** via un opérateur Kubernetes dédié, Llama Stack fournit une spécification d'API universelle et des distributions modulaires pour orchestrer l'ensemble du cycle de vie des agents d'entreprise : de l'inférence accélérée à la recherche vectorielle, en passant par l'exécution sécurisée d'outils et le contrôle éthique/sécuritaire.

---

### 1. Le Problème de l'« Agent Sprawl » et l'Impératif d'une Spécification Unifiée

Construire des agents IA résilients en environnement bancaire, industriel ou public exige d'assembler plusieurs briques complexes :

1. **Moteur d'Inférence (*Inference Engine*) :** Servir des modèles de fondation open source (IBM Granite 3.0/3.1, Llama 3.3, Mistral) avec un débit maximal via **vLLM** ou **TGI**.
2. **Mémoire & RAG Vectoriel (*Vector IO*) :** Interroger des bases vectorielles scalables (**Milvus**, **pgvector**) avec recherche hybride.
3. **Exécution d'Outils (*Tool Runtime / MCP*) :** Permettre au modèle d'invoquer des fonctions et des protocoles de contexte (Model Context Protocol).
4. **Sécurité & Modération (*Safety / Guardrails*) :** Filtrer les attaques par injection de prompt et vérifier la conformité via **Granite Guardian**, **Llama Guard** et **TrustyAI**.
5. **Évaluation & Télémétrie (*Eval & Telemetry*) :** Tracer chaque étape de raisonnement et scorer la fidélité documentaire.

Sans standard, chaque équipe de développement réimplémente sa propre colle logicielle, créant une dette technique massive et empêchant la portabilité entre clusters cloud-native privés et environnements de débordement.

```
┌─────────────────────────────────────────────────────────────────────────────┐
│                    Applications Entreprise & Frameworks IA                  │
│             (LangChain, LlamaIndex, CrewAI, AutoGen, Clients Web)           │
└──────────────────────────────────────┬──────────────────────────────────────┘
                                       │
                                       ▼  (API Unifiée Llama Stack REST/gRPC)
┌─────────────────────────────────────────────────────────────────────────────┐
│                   Llama Stack Distribution (OpenShift AI)                   │
├──────────────┬──────────────┬──────────────┬──────────────┬─────────────────┤
│  Inference   │  Vector IO   │ Tool Runtime │    Safety    │   Eval & Telemetry
│   (vLLM)     │   (Milvus)   │    (MCP)     │ (TrustyAI)   │ (OpenTelemetry) │
└──────┬───────┴──────┬───────┴──────┬───────┴──────┬───────┴────────┬────────┘
       │              │              │              │                │
       ▼              ▼              ▼              ▼                ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│               Infrastructure Souveraine Red Hat OpenShift                   │
│        (Nœuds GPU H100/L40S, Ceph ODF, OpenShift GitOps, RHACS)             │
└─────────────────────────────────────────────────────────────────────────────┘
```

---

### 2. Architecture et Composants Clés de Llama Stack

Llama Stack structure l'interaction avec les systèmes d'IA selon des interfaces de haut niveau standardisées :

* **`/inference` :** Interface standardisée pour la complétion, le streaming de tokens et les embeddings, faisant abstraction du moteur sous-jacent (vLLM, Ollama, TGI).
* **`/vector_io` :** Gestion unifiée des collections d'index, de l'ingestion de segments (*chunks*) et de la recherche vectorielle dense/sparse.
* **`/agents` :** Boucle de raisonnement agentique complète (*ReAct*, *Plan-and-Solve*), maintenant la mémoire conversationnelle et orchestrant automatiquement les appels d'outils.
* **`/safety` :** Application systématique de politiques de sécurité pré-inférence (requêtes malveillantes, PII) et post-inférence (hallucinations, fuites de données confidentielles).
* **`/telemetry` :** Exportation native des traces d'exécution au format **OpenTelemetry GenAI Semantic Conventions**, corrélant les requêtes utilisateurs aux métriques d'infrastructure GPU.

---

### 3. Déploiement Cloud-Native : L'Opérateur Llama Stack sur OpenShift AI

Sur Red Hat OpenShift AI, le déploiement d'une distribution Llama Stack s'effectue de manière totalement déclarative via un Custom Resource Definition (CRD) `LlamaStackDistribution`.

L'opérateur instancie le serveur Llama Stack, configure automatiquement le routage vers les *ServingRuntimes* KServe existants, provisionne les connexions aux clusters Milvus sécurisés par TLS et injecte les politiques de sécurité du cluster.

#### Manifeste GitOps : `llamastack-distribution.yaml`

```yaml
apiVersion: ai.openshift.io/v1alpha1
kind: LlamaStackDistribution
metadata:
  name: enterprise-agent-stack
  namespace: genai-production
  labels:
    app.kubernetes.io/part-of: rhoai-agents
    apertascientia.io/curriculum: as300
spec:
  replicas: 3
  distributionImage: "registry.redhat.io/rhoai/llama-stack-server-rhel9:v3.3"
  
  # Configuration des fournisseurs d'infrastructures
  providers:
    # 1. Fournisseur d'Inférence (vLLM via KServe)
    inference:
      - providerType: vllm
        endpoint: "http://granite-3-8b-instruct.genai-production.svc.cluster.local:8000/v1"
        models:
          - name: "ibm-granite/granite-3.0-8b-instruct"
            aliases: ["default-llm", "primary-agent"]
          - name: "nomic-ai/nomic-embed-text-v1.5"
            aliases: ["default-embedder"]

    # 2. Fournisseur de Stockage Vectoriel (Milvus ODF)
    vectorIO:
      - providerType: milvus
        endpoint: "milvus-cluster.vector-db.svc.cluster.local:19530"
        credentialsSecretRef:
          name: milvus-tls-secret

    # 3. Fournisseur de Sécurité & Guardrails (TrustyAI / Llama Guard)
    safety:
      - providerType: trustyai-guardrails
        endpoint: "http://guardrails-service.rhoai-governance.svc.cluster.local:8080"
        shieldRules:
          - "prompt-injection-detection"
          - "pii-masking"
          - "toxic-content-filter"

    # 4. Observabilité & Télémétrie
    telemetry:
      - providerType: opentelemetry
        collectorEndpoint: "otel-collector.observability.svc.cluster.local:4317"

  # Tolérances et ressources CPU/Mémoire pour le contrôleur d'agents
  resources:
    requests:
      cpu: "4000m"
      memory: "8Gi"
    limits:
      cpu: "8000m"
      memory: "16Gi"
```

---

### 4. Exemple Pratique : Développer un Agent d'Entreprise avec le SDK Llama Stack

Grâce à cette abstraction standardisée, le code applicatif développé par les data scientists et ingénieurs logiciels devient totalement découplé de la topologie matérielle :

```python
from llama_stack_client import LlamaStackClient
from llama_stack_client.types.agent_create_params import AgentConfig

# Connexion au point de terminaison Llama Stack sécurisé sur OpenShift
client = LlamaStackClient(
    base_url="https://llama-stack.apps.ocp-prod.apertascientia.internal",
    api_key="Bearer <service-account-token>"
)

# 1. Définition de l'Agent et de ses Outils
agent_config = AgentConfig(
    model="default-llm",
    instructions="""Vous êtes l'agent de diagnostic technique d'Aperta Scientia. 
Utilisez la recherche vectorielle pour consulter la documentation officielle OpenShift
et exécutez les outils autorisés pour analyser l'état des clusters.""",
    tools=[
        {
            "type": "vector_io",
            "collection_id": "rh-knowledge-base-v2",
            "top_k": 4
        },
        {
            "type": "custom_tool",
            "name": "check_gpu_allocation",
            "description": "Vérifie les métriques d'utilisation GPU (DRA/MIG) d'un namespace",
            "parameters": {
                "namespace": {"type": "string", "description": "Nom du namespace OpenShift"}
            }
        }
    ],
    safety_shields=["prompt-injection-detection", "pii-masking"],
    temperature=0.2
)

# Création de l'instance d'agent
session = client.agents.create_session(agent_config=agent_config)

# 2. Exécution d'une interaction utilisateur avec boucle de Tool Calling automatique
user_query = "Pourquoi le pod d'inférence vLLM dans 'genai-production' est en OOM ?"
response_stream = client.agents.create_turn(
    session_id=session.session_id,
    messages=[{"role": "user", "content": user_query}],
    stream=True
)

for event in response_stream:
    if event.type == "step_progress":
        print(f"⚙️ [Action Agent] : {event.step_type} -> {event.detail}")
    elif event.type == "token":
        print(event.delta, end="", flush=True)
```

---

### 5. Avantages Majeurs pour l'Ingénierie de Plateforme IA

| Dimension | Approche Artisanale (Multi-SDKs) | Approche Llama Stack sur OpenShift AI |
| :--- | :--- | :--- |
| **Portabilité** | Forte adhérence aux APIs des hyperscalers (Bedrock, Vertex, Azure OpenAI). | 100 % agnostique du modèle et du cloud. Exécutable sur cluster bare-metal souverain ou hybride. |
| **Gouvernance & Sécurité** | Vérifications appliquées au niveau de chaque application (risque d'oubli). | Garde-fous centralisés (*Guardrails-as-a-Platform*) appliqués en amont de tout serving. |
| **Gestion du Tool Calling** | Formats JSON non standardisés selon les familles de modèles (Llama vs Mistral vs Qwen). | Normalisation transparente du protocole de requêtes d'outils et intégration MCP native. |
| **Observabilité** | Tracing hétérogène, logs applicatifs dispersés et métriques GPU isolées. | Traces OpenTelemetry corrélées (latence d'inférence, coût token, mémoire vectorielle). |

---

### 6. Bonnes Pratiques d'Exploitation en Production

1. **Isolation Réseau et Service Mesh :** Encapsulez le serveur Llama Stack et ses dépendances (vLLM, Milvus) dans un maillage **OpenShift Service Mesh (Istio)** avec chiffrement mTLS strict et autorisation RBAC par ServiceAccount.
2. **Gestion fine du KV Cache vLLM :** Allouez au minimum 20 % de la VRAM GPU pour le KV Cache dynamique afin de supporter les historiques de conversation étendus générés par les boucles d'agents multi-tours.
3. **Audit continu via RHACS :** Surveillez l'intégrité des conteneurs exécutant des outils dynamiques avec **Red Hat Advanced Cluster Security (ACS)** pour bloquer toute élévation de privilèges ou communication non déclarée.

---

### Maîtrisez le Déploiement d'Agents GenAI et de Plateformes IA avec Aperta Scientia

La mise en œuvre d'architectures d'agents d'entreprise exige une double compétence : la rigueur des infrastructures Kubernetes cloud-native et la maîtrise approfondie des pipelines LLMOps modernes.

Aperta Scientia forme les experts de l'infrastructure et de la GenAI d'entreprise à travers deux parcours d'excellence :

* **[AS300 — AI Platform Engineer](/curriculums/as300)** : Le cursus de référence de 3 mois pour maîtriser le déploiement de **Red Hat OpenShift AI (RHOAI)**, l'orchestration **Llama Stack**, le serving haute performance avec **vLLM**, les bases vectorielles **Milvus**, et le fine-tuning avec **InstructLab**.
* **[AS200 — New DevOps Platform Engineer](/curriculums/as200)** : Le cursus socle pour concevoir, sécuriser et automatiser les clusters **Red Hat OpenShift**, maîtriser le **GitOps (ArgoCD)**, les pipelines **Tekton** et la gouvernance multi-cluster avec **ACM** et **ACS**.

---

*Source : https://aperta.io/fr/radar/2026-09-12-llama-stack-rhoai-architecture-agents-ia-rag-entreprise/ — Aperta Scientia Tech Radar*
