Reciprok Docs

ADR-02, Stack IA

Claude pour le LLM, OpenAI pour les embeddings, Whisper pour l'audio. Pourquoi.

Statut : Accepté Date : 2026-04 Sujet : Choix des providers IA pour Reciprok

Contexte

Reciprok a besoin de 4 capacités IA distinctes :

  1. LLM pour le chat, le tool calling, l'analyse, la structuration de la KB
  2. Embeddings pour la recherche sémantique sur 70k+ membres
  3. Transcription audio pour les messages vocaux et les audios de présentation des membres
  4. (Optionnel) TTS pour faire parler l'IA aux utilisateurs

Chaque capacité peut venir d'un provider différent. Le choix doit équilibrer qualité, coût, latence, et lock-in.

Décisions

LLM : Claude (Anthropic)

Modèle par défaut : claude-sonnet-4-5 (Sonnet 4.6) Modèle pour les tâches complexes : claude-opus-4-6 (Opus 4.6, ponctuel)

Pourquoi Claude vs GPT-4 :

  • Tool use natif et fiable, Claude est excellent en tool calling structuré, c'est exactement ce qu'on fait
  • Excellent en français, la majorité des descriptions de membres et des emails sont en français
  • Prompt caching, réduit les coûts de 90% sur les contextes répétés (system prompt, contexte de demande)
  • Pas de drift de personnalité, les réponses restent cohérentes sur les longues conversations
  • Streaming SSE simple, supporté nativement par Elysia

Pourquoi pas GPT-4 :

  • Plus cher en input cached
  • Tool calling moins propre (parfois hallucine des arguments)
  • Moins fiable sur les tâches structurées (extraction, JSON)

Pourquoi pas un modèle open source self-host (Llama, Mistral) :

  • Pas la priorité au démarrage. La qualité d'un Claude Sonnet est nettement au-dessus
  • Coût d'opération > coût API pour les volumes de Reciprok
  • À reconsidérer si les coûts deviennent un problème (>5000€/mois en API)

Embeddings : OpenAI text-embedding-3-small

Dimensions : 1536

Pourquoi :

  • Très bon marché, $0.02 / 1M tokens, soit ~$0.40 pour embedder 70k membres une fois
  • Qualité excellente en français malgré "small" dans le nom
  • Compatible pgvector out of the box
  • API stable depuis longtemps, peu de risque de breaking changes

Alternatives considérées :

  • text-embedding-3-large (3072 dims), meilleur recall mais 2x plus cher et 2x plus de stockage. Overkill pour notre cas
  • Voyage AI voyage-3, légèrement meilleure qualité sur certains benchmarks, mais provider plus jeune et moins de support communautaire
  • Cohere embed-multilingual-v3, bon en multilingue mais plus cher
  • bge-large-fr (HuggingFace), gratuit mais self-host = complexité supplémentaire

Transcription audio : OpenAI Whisper API

Pourquoi :

  • Excellent en français (français est une des langues principales d'entraînement)
  • Pay-per-minute, $0.006/min, dérisoire à l'échelle de Reciprok
  • API simple, intégration en quelques lignes
  • Pas de quotas restrictifs au démarrage

Alternatives considérées :

  • Deepgram, plus rapide, supporte le streaming, mais moins bon en français pur
  • AssemblyAI, bon en multilingue, plus cher
  • Whisper self-host, gratuit mais nécessite un GPU, infra à monter, ROI négatif au volume Reciprok

TTS (génération vocale) : Reporté

Pas implémenté au MVP. Quand on l'ajoute :

  • OpenAI TTS (tts-1), qualité OK, $15 / 1M caractères, cache audio sur S3
  • ElevenLabs, qualité supérieure mais beaucoup plus cher
  • Cartesia, challenger récent, latence très faible, à surveiller

Coûts prévisionnels

Disclaimer : tarifs Anthropic et OpenAI affichés en avril 2026, à vérifier sur les pages officielles avant chaque déploiement. Les ordres de grandeur ci-dessous sont calculés avec prompt caching activé côté Anthropic.

Estimation pour un volume cible de 100 demandes/mois avec un usage soutenu de l'IA :

CapacitéProviderCoût mensuel estimé
Chat LLM (in/out, prompt caching activé)Anthropic~50-80€
Embeddings (refresh members + queries)OpenAI~3-5€
Transcription Whisper (audios membres + vocaux)OpenAI~10€
Total~65-95€/mois

À surveiller : si l'usage du chat IA explose (chaque utilisateur converse intensivement sur chaque demande), le coût Anthropic peut monter à 200-300€/mois. Sans prompt caching, ces chiffres seraient 3-5× plus élevés, c'est pour ça qu'il est obligatoire dès le jour 1.

Voir operations/costs pour le détail du budget global et les plafonds.

Garde-fous

À implémenter dès le jour 1 :

  1. Compteur de tokens par utilisateur, visible dans une page admin
  2. Rate limit par utilisateur (ex: 60 messages chat / heure)
  3. Timeout sur les tools (5s max par appel de tool)
  4. Max iterations dans la boucle agentique (10 tool uses max avant de revenir à l'humain)
  5. Cap de coût mensuel, alerte au-delà de 200€

Conséquences

Positives :

  • Stack moderne, éprouvée, simple à intégrer
  • Coûts maîtrisés au démarrage
  • Possibilité de switcher de provider sans refonte (interfaces claires)

Négatives :

  • Dépendance API externe (latence réseau, downtime des providers)
  • Coûts qui peuvent croître avec le volume, à monitorer
  • Pas de full-control sur les modèles (vs self-host)

On this page