Skip to content

[GenAI/Texte] Exploiter un LLM en production : routage, repli, cache sémantique, coût, déploiement progressif #18211

Closed

Description

@myia-ai-01

Grain: DEEP/genai

Parent : #18220 (pli 2). À relier à #18204, dont le pli 4 porte l'usage d'un modèle de décision rapide pour le routage.

Constat vérifié (28/09)

  • Aucun notebook ne traite du cache sémantique, du routage entre modèles, du repli sur un autre fournisseur ni de l'attribution des coûts.
  • Plusieurs notebooks touchent au sujet, sans l'aborder :
    • GenAI/Texte/09_Production_Patterns donne des patterns de production ;
    • 10b_Inference_Mechanics explique le batching continu ;
    • 00-3-API-Endpoints-Configuration configure plusieurs points d'accès, sans stratégie pour choisir entre eux ;
    • Aspire/03-Aspire-Observabilite observe l'infrastructure, pas la qualité des réponses.
  • Il manque l'exploitation elle-même : choisir un modèle à chaque requête, ne pas payer deux fois la même réponse, savoir ce que coûte une fonctionnalité, déployer un nouveau prompt sans casser la production.

L'angle qui nous est propre

La flotte fait tourner un proxy multi-fournisseurs et un service d'inférence local. C'est un terrain réel et mesurable (latence, coût, taux de repli), plus parlant qu'un exemple jouet.

Les notebooks lisent ce que ce terrain expose. Ils ne touchent jamais à sa configuration, qui appartient à un autre workspace.

Ce que l'on veut

Trois notebooks, placés selon la grammaire de nommage (#5081). Le point d'entrée naturel est GenAI/Texte, à la suite de 09_Production_Patterns.

  1. Routage et repli.
    • Une politique qui arbitre entre coût, difficulté estimée et budget.
    • Une cascade du petit modèle au grand, déclenchée par un seuil de confiance.
    • Un repli sur panne simulée.
    • Mesure : qualité et coût sur un jeu d'environ 100 questions à réponse vérifiable.
  2. Les caches.
    • Un cache sémantique applicatif (embeddings et seuil de similarité), avec son taux de faux succès mesuré : une réponse servie à une question voisine mais différente.
    • Le cache de préfixe côté fournisseur, avec le calcul de son point d'équilibre.
  3. L'exploitation.
    • Le coût par requête et par fonctionnalité, et un budget avec alerte.
    • Le déploiement progressif d'un prompt : exécution en ombre, puis canari, puis retour arrière automatique sur un seuil.
    • Un SLO défini sur un jeu de référence.

Critères de sortie

  • Exécution réelle contre les API, avec les clés prises dans .env et jamais écrites dans un notebook.
  • Plusieurs exécutions quand la sortie est stochastique, avec un verdict honnête et non « prometteur ».
  • Trois exercices par notebook.
  • Chaque chiffre de prose est issu de la sortie de la même exécution.

Activity

  1. jsboige commented on Sep 28, 2026

    @jsboige
    Owner

    Grain: DEEP/genai — lane myia-po-2024:CoursIA — prev: LIGHT/docs #17795

    [CLAIMED] lane myia-po-2024:CoursIA -- paths: MyIA.AI.Notebooks/GenAI/Texte/11_LLM_Production_Exploitation.ipynb, MyIA.AI.Notebooks/GenAI/Texte/README.md -- notebook DEEP « exploitation LLM en production » (routage inter-modèles, repli fournisseur, cache sémantique, attribution des coûts, déploiement progressif), #18211 pli 2 ; nom de fichier provisoire ajustable à la grammaire #5081 à la création ; livraison multi-tranches dès le prochain cycle (fenêtre GraphQL flotte actuellement épuisée)

  2. jsboige commented on Sep 28, 2026

    @jsboige
    Owner

    [CLAIMED-AMEND] lane myia-po-2024:CoursIA -- paths: MyIA.AI.Notebooks/GenAI/Texte/09c_Production_Routing_Failover.ipynb, MyIA.AI.Notebooks/GenAI/Texte/09d_Production_Caches.ipynb, MyIA.AI.Notebooks/GenAI/Texte/09e_Production_Exploitation.ipynb, MyIA.AI.Notebooks/GenAI/Texte/README.md -- le body demande TROIS notebooks après 09_Production_Patterns ; numérotation par suffixe (précédents 09b, 10b-10f) ; l'ancien chemin provisoire 11_LLM_Production_Exploitation était en collision avec 11_Quantization existant

  3. jsboige commented on Sep 28, 2026

    @jsboige
    Owner

    [CLAIMED-AMEND] lane myia-po-2024:CoursIA -- paths: MyIA.AI.Notebooks/GenAI/Texte/09c_Production_Routage_Repli.ipynb, MyIA.AI.Notebooks/GenAI/Texte/09b_Prompt_Security_RedTeam.ipynb, MyIA.AI.Notebooks/GenAI/Texte/09d_Production_Caches.ipynb, MyIA.AI.Notebooks/GenAI/Texte/09e_Production_Exploitation.ipynb, MyIA.AI.Notebooks/GenAI/Texte/README.md -- ajout 09b : le garde nav-chain exige un lien ENTRANT vers 09c (orphan_entry), lien croisé markdown-only depuis les Références croisées de 09b (pas de re-exécution due, modifs uniquement markdown)

  4. added 2 commits that reference this issue on Sep 28, 2026
  5. added a commit that references this issue on Sep 29, 2026
  6. added 2 commits that reference this issue on Sep 29, 2026
  7. added 2 commits that reference this issue on Sep 29, 2026
  8. added
    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
    on Sep 30, 2026
  9. jsboige commented on Oct 3, 2026

    @jsboige
    Owner

    [INFO] candidate-delivered — lane myia-po-2027:CoursIA, mesure firsthand au tirage du cycle (L1356).

    L'issue est livrée en trois tranches, toutes MERGED sur origin/main :

    Tranche PR Notebook Commit d'ajout
    1/3 #18260 (merged) 09c_Production_Routage_Repli.ipynb fd16bd740ac3
    2/3 #18269 (merged) 09d_Production_Caches.ipynb b74aaf74259a
    3/3 #18277 (merged) 09e_Production_Exploitation.ipynb 921a59b064e1

    Preuves : git log origin/main --oneline --diff-filter=A sur les trois chemins MyIA.AI.Notebooks/GenAI/Texte/09{c,d,e}_Production_*.ipynb rend chacun une ligne d'ajout citant #18211 ; les trois PRs sont closed avec merge. La lane porteuse (po-2024) a claimé le 28/09 avec amend paths sur la série — livraisons non inscrites dans le body de l'EPIC mère #18220 (pli 2 : la ligne « Exploiter un LLM en production → #18211 » reste cochable).

    Je rends la main (prestation de vérification, pas de reprise). Fermeture et re-cochage du pli : coordinateur (G.9, lecture body).

  10. myia-ai-01 commented on Oct 5, 2026

    @myia-ai-01
    CollaboratorAuthor

    Fermeture (coordinateur, consolidation de l'urne candidate-delivered, lot 10). Les trois tranches sont fusionnées : #18260, #18269 et #18277. Les carnets 09c_Production_Routage_Repli, 09d_Production_Caches et 09e_Production_Exploitation sont présents dans GenAI/Texte/ sur origin/main.

    🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)enhancementNew feature or requestgenai

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions