mirror of
https://github.com/MaksTinyWorkshop/_Assistant_Lead_Tech
synced 2026-06-28 01:53:40 +02:00
capitalisation: triage 95_a_capitaliser + création domaine infra
Triage des 27 propositions du buffer de capitalisation (skill capitalisation-triage), avec vérification des doublons contre la base. Intégré dans knowledge/ (23 entrées): - backend: redis (compensation incrBy non-atomique), nestjs (injection cassée sous tsx watch; guard write mode dégradé), async (test rollback pipeline multi-fichiers), contracts (idempotence POST), auth (disclosure comptes soft-deleted), prisma (index partial soft-delete), llm-providers (nouveau: OAuth vs API key, prompt caching). - frontend: tests (garde-fous parking Later), navigation (fichiers non-route sous src/app Expo Router), general (type client vs payload backend), state (fallback catch-all mapping DB→UI). - workflow: story-tracking (statut BMAD vs narratif obsolète). - product: general (nouveau: doc feature store sans UI). - infra: NOUVEAU DOMAINE (traefik, tailscale, docker, docker-networking, reverse-proxy-paths, sidecar tailscale) + 00_INDEX.md. Autres: - 90_debug_et_postmortem.md: post-mortem réseau Docker partagé hors compose. - Rejeté 3 doublons (types enum contracts, getter PrismaService, $transaction). - Buffer 95_a_capitaliser.md purgé et restauré à son état initial. - _projects.conf: MAJ statuts epics + ajout app-rl799.
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
---
|
||||
title: "Backend — Patterns : Fournisseurs LLM"
|
||||
domain: backend
|
||||
bucket: patterns
|
||||
tags: [llm, anthropic, openai, api-key, oauth, prompt-caching, couts]
|
||||
applies_to: [analysis, implementation, architecture]
|
||||
severity: medium
|
||||
validated_on: 2026-06-25
|
||||
source_projects: [_Assistant_Cuisine]
|
||||
---
|
||||
|
||||
# Backend — Patterns : Fournisseurs LLM
|
||||
|
||||
> Extrait de la base de connaissance Lead_tech. Voir `knowledge/backend/patterns/README.md` pour l'index complet.
|
||||
|
||||
---
|
||||
|
||||
<a id="pattern-oauth-consumer-vs-api-key"></a>
|
||||
## OAuth abonnement consumer ≠ API key — ne pas mélanger les deux usages
|
||||
|
||||
Tous les fournisseurs LLM (Anthropic, OpenAI, Google) séparent strictement deux mondes :
|
||||
|
||||
| Type | Auth | Usage prévu | Coût |
|
||||
|---|---|---|---|
|
||||
| **Abonnement consumer** (Claude Pro/Max, ChatGPT Plus) | OAuth via app officielle | usage interactif personnel via clients officiels (desktop, web, plugin IDE) | forfait mensuel |
|
||||
| **API platform** | API key | usage programmatique, multi-users, services tiers, prod | pay-per-token |
|
||||
|
||||
### Règle
|
||||
|
||||
- Ne **jamais** utiliser les credentials OAuth d'un abonnement consumer pour servir une application à plusieurs utilisateurs. Anthropic l'interdit explicitement (ToS) ; les autres le tolèrent moins ouvertement mais le principe est identique. Risque concret : bannissement du compte si détecté.
|
||||
- Pour toute application applicative (chatbot, intégration produit), prendre une **API key séparée**, indépendante de l'abonnement consumer.
|
||||
|
||||
---
|
||||
|
||||
<a id="pattern-prompt-caching-system-prompt-stable"></a>
|
||||
## Prompt caching obligatoire dès qu'un gros system prompt est stable
|
||||
|
||||
Tout système ayant un system prompt volumineux et stable (knowledge base, format de sortie, persona) DOIT activer le prompt caching côté fournisseur. La portion cachée est facturée à une fraction du tarif normal (ordre de grandeur : ~10 %), ce qui divise le coût input par 5 à 10 sur un usage où le system prompt domine.
|
||||
|
||||
```ts
|
||||
// OpenAI : promptCacheKey via provider metadata
|
||||
streamText({
|
||||
model: openai("gpt-4.1-mini"),
|
||||
system: bigStaticPrompt,
|
||||
experimental_providerMetadata: {
|
||||
openai: { promptCacheKey: "myapp-system-v1" },
|
||||
},
|
||||
});
|
||||
|
||||
// Anthropic : marquage explicite des blocs cacheables dans messages (cache_control)
|
||||
```
|
||||
|
||||
### Conséquences sur les coûts
|
||||
|
||||
- Le **coût marginal** d'un nouvel utilisateur est quasi nul tant que le system prompt domine le volume de tokens.
|
||||
- Pour un usage léger (quelques conversations/jour, prompt caching actif), prévoir un budget mensuel de l'ordre de quelques euros.
|
||||
- Toujours poser un **budget cap** côté console fournisseur pour éviter toute dérive.
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user