Architecture · IA locale + backend gouverné
Architecture de backend privé d’IA et de RAG pour WordPress
Utilisez l’IA embarquée prise en charge lorsqu’elle convient, puis acheminez les charges qui exigent des modèles côté serveur, du RAG, des citations ou un accès public depuis le frontend vers un backend configuré, plutôt que vers un environnement SaaS partagé et obligatoire du plugin.
Éditeur WordPress / frontend
├→ IA locale prise en charge
└→ point de terminaison API configuré
↓
API Gateway + Lambda
├→ accès aux modèles Bedrock
├→ récupération de connaissances
└→ journaux / contrôles
WordPress reste la source de contenu ; la responsabilité du backend est explicite.
Limites de confiance et chemin des données
Le traitement local et le traitement backend sont deux modes d’exécution distincts
AI-Kit peut effectuer localement les tâches prises en charge dans les navigateurs compatibles. Les workflows Pro peuvent utiliser à la place un point de terminaison API configuré, généralement dans le compte AWS du client. Les fonctions publiques de chatbot et de DocSearch exigent un chemin backend accessible au navigateur, car le visiteur ne peut pas dépendre de PHP WordPress après une publication statique.
Tâche dans l’éditeur
├→ modèle local du navigateur si pris en charge
└→ route backend configurée /admin/*
Chatbot visiteur / DocSearch
→ route backend configurée /frontend/*
→ récupération / exécution du modèle
→ réponse + données sources
Sources de connaissances
contenu WordPress → documents préparés + métadonnées → backend de connaissances
Limite Un backend configuré ne rend pas chaque action d’IA locale ou privée par définition. La décision d’architecture essentielle porte sur le lieu d’exécution de chaque charge, le contenu qui franchit cette limite et l’entité qui contrôle le backend, les journaux et l’accès aux modèles.
Ce que provisionne la pile backend d’AI-Kit
Le backend réunit des responsabilités d’exécution explicites ; il ne s’agit pas d’un proxy d’IA opaque. Cet inventaire présente les composants d’API, de modèles, de récupération, de stockage, de contrôle des abus et d’observabilité du chemin configuré.
| Composant | Objectif | Choix de conception clé | Note d’exploitation |
|---|---|---|---|
| API REST API Gateway | Expose les routes d’IA d’administration et les routes frontend facultatives | /admin/* reste la surface de confiance ; /frontend/* n’apparaît que si les options correspondantes sont activées | Séparez les routes publiques et privilégiées, même si elles partagent le code des gestionnaires. |
| AiHandlerFunction | Gestionnaire Lambda unifié pour les fonctions de prompt et de langue | Un chemin d’exécution chaud pour le prompt, la rédaction, la réécriture, le résumé, la traduction, la correction, la détection de langue et la liste des KB | La validation, les métriques, les garde-fous et le middleware partagés réduisent la dispersion opérationnelle. |
| Modèles Amazon Bedrock | Exécutent la génération, les tâches proches de la traduction et la synthèse de réponses RAG | Le modèle du frontend peut être plus léger et moins coûteux que celui de l’administration grâce à une sélection paramétrée | Les identifiants de modèle sont des paramètres d’architecture, pas des hypothèses codées en dur dans l’extension. |
| Bedrock Knowledge Base + S3 Vectors | Fournit une récupération gérée dans la documentation ou le contenu client | Créer une KB ou en réutiliser une existante avec les paramètres de la pile | Les sorties KnowledgeBaseId et DataSourceId font partie du contrat d’intégration. |
| Bucket S3 pour documents et ressources temporaires | Stocke les documents de la KB et les images temporaires chargées pour les prompts | Préfixes distincts pour documents, configuration et ressources temporaires | Les images temporaires doivent expirer vite ; les documents de la KB doivent être versionnés délibérément. |
| KnowledgeBaseSyncFunction | Exécute les workflows d’ingestion de documents | La boucle de temporisation S3/EventBridge/DynamoDB évite une ingestion à chaque petit événement de fichier | Utile lorsque WordPress régénère plusieurs documents de la KB pendant la publication. |
| reCAPTCHA + SSM/KMS | Protège les points de terminaison frontend ouverts | Le secret est stocké dans un paramètre SSM chiffré et récupéré par les gestionnaires | Important lorsque FrontendApiAuthMode vaut NONE pour faciliter les sites statiques. |
| AWS WAF et limitation de débit | Limite les abus sur les chemins d’API publics et administratifs | Règles d’autorisation, de refus et de débit distinctes pour le frontend et l’administration | Les points de terminaison d’IA génèrent des coûts ; l’accès public exige une protection au-delà de CORS. |
| CloudWatch, DLQ et alertes | Fournit journaux, métriques, capture des appels échoués et notifications facultatives | Rétention par fonction, métriques personnalisées et DLQ SQS partagée | Les fonctions d’IA exigent de l’observabilité, car coût, latence et qualité sont des enjeux d’exécution. |
Surface des points de terminaison : un backend, deux zones de confiance
Le backend peut exposer plusieurs capacités, mais les routes d’administration et du frontend doivent rester séparées. Le tableau montre les routes visiteurs créées uniquement avec leur fonction et les routes de configuration réservées à l’administration.
| Capacité | Route d’administration | Route frontend | Quand le frontend est créé | Note de conception |
|---|---|---|---|---|
| Prompt / chatbot / DocSearch | /admin/prompt | /frontend/prompt | EnableChatbotBackend=true | Peut utiliser la KB, des citations, la régénération, les métadonnées de retour et des images facultatives. |
| Générer l’URL de chargement | /admin/generate-upload-url | /frontend/generate-upload-url | EnableChatbotBackend=true | Charge les images dans S3 par PUT présigné, puis transmet les clés aux requêtes de prompt. |
| Résumé | /admin/summarize | /frontend/summarize | EnableSummarizerBackend=true | Désactive généralement la KB par défaut, car le texte source est déjà fourni. |
| Rédaction | /admin/write | /frontend/write | EnableLanguageAIBackend=true | Utile comme solution de repli backend pour la génération dans l’éditeur ou le frontend. |
| Réécriture | /admin/rewrite | /frontend/rewrite | EnableLanguageAIBackend=true | Respecte ton, format et longueur tout en gardant les secrets hors du navigateur. |
| Traduction | /admin/translate | /frontend/translate | EnableLanguageAIBackend=true | Peut être associée à des workflows de détection automatique de la langue. |
| Correction | /admin/proofread | /frontend/proofread | EnableLanguageAIBackend=true | Renvoie le texte corrigé et des métadonnées de correction structurées. |
| Détection de langue | /admin/detect-language | /frontend/detect-language | EnableLanguageAIBackend=true | Utilise un chemin backend au lieu de supposer que le navigateur fournit toujours la langue. |
| Bases de connaissances | /admin/knowledge-bases | Pas de route publique | Administration uniquement | La liste et la sélection des ressources de connaissances relèvent d’une interface de configuration de confiance. |
La politique d’ancrage est une décision produit
Le comportement de récupération doit correspondre au risque et aux attentes de l’expérience. Ce tableau compare les réponses strictement limitées à la KB, la clarification préalable et la préférence accordée à la KB.
| Mode d’ancrage | Quand l’utiliser | Comportement sans extrait pertinent dans la KB | Conséquence éditoriale |
|---|---|---|---|
| KB_ONLY | Réponses réglementées, à forts enjeux ou strictement documentaires | Indiquer que la documentation ne contient pas l’information demandée | Les auteurs doivent maintenir une KB assez complète pour les questions attendues. |
| ASK_WHEN_NO_KB | Ensembles de sources ambigus ou réponses dépendant d’une catégorie | Poser une question de clarification au lieu de deviner | La taxonomie des métadonnées fait partie de la conception de l’expérience. |
| KB_PREFERRED | Marketing, formation produit et assistance générale | Utiliser la KB lorsqu’elle est disponible ; sinon, distinguer clairement la réponse des documents récupérés | Bon équilibre pour les sites publics mêlant documentation et explications générales. |
Matrice d’authentification et de protection
Les routes d’administration, le chat public, les outils linguistiques, les chargements et la gestion des connaissances ont des niveaux de confiance différents. La matrice indique la posture par défaut et la protection nécessaire.
| Surface | Posture par défaut | Modes d’authentification possibles | Protection recommandée | Pourquoi |
|---|---|---|---|---|
| Routes d’IA d’administration | De confiance / administration | IAM ou Cognito | IAM par défaut, liste d’adresses IP facultative, journaux et alertes | Ces routes peuvent exposer des capacités plus larges et ne doivent pas être publiques. |
| Chatbot frontend | Public ou réservé aux membres | NONE, IAM ou Cognito | reCAPTCHA + WAF en public ; portées Cognito pour les membres | Les points de terminaison de chat génèrent des coûts et peuvent recevoir des entrées utilisateur arbitraires. |
| Résumé et outils linguistiques frontend | Surface publique activée par fonction | NONE, IAM ou Cognito | N’activer que les routes requises ; limiter le débit et valider la taille des charges | Chaque route ajoute une surface d’abus et de coût de modèle. |
| Assistant de chargement d’images | Entrée temporaire de ressources | Suit la surface du prompt | Type de contenu, taille, préfixe de clé et expiration stricts | Les chargements présignés sont puissants et doivent être étroitement bornés. |
| Gestion de la Knowledge Base | Administration uniquement | IAM ou Cognito privilégié | Ne jamais l’exposer comme point de terminaison frontend anonyme | La sélection de KB et les ressources backend sont de la configuration, pas une expérience visiteur. |
Choix du modèle et posture de coûts
Les charges d’IA créent des contraintes de coût et de qualité différentes. Ce tableau évite d’imposer aux tâches d’édition, au chat public, à DocSearch et aux requêtes multimodales un seul modèle et un seul profil de protection.
| Charge | Pression sur les coûts | Exigence de qualité | Choix d’architecture |
|---|---|---|---|
| Éditeur : réécriture / traduction / correction | Généralement modérée et contrôlée par l’administration | Résultats cohérents et peu de friction | Essayer d’abord l’IA locale ; utiliser le backend en repli lorsqu’elle est indisponible ou que la politique l’exige. |
| Chatbot frontend | Potentiellement élevée, car les visiteurs peuvent déclencher l’usage | Réponses fondées, sûres et compréhensibles | N’activer que les routes nécessaires, utiliser un modèle frontend plus léger, reCAPTCHA/WAF et des paramètres de réponse bornés. |
| DocSearch | Dépend du volume de recherche et du contexte récupéré | Bonnes citations et sélection précise des sources | Priorité au RAG ; reclassement facultatif uniquement si le gain de pertinence justifie les appels supplémentaires. |
| Prompt multimodal | Plus élevée, car les images ajoutent stockage et traitement | Utile pour certains workflows d’assistance ou de contenu | Utiliser des chargements S3 présignés, des limites de taille d’objet et l’expiration du cycle de vie. |
Comment l’assistant de déploiement modifie le modèle d’exploitation
L’assistant transforme les choix produit en configuration backend explicite. Ce tableau montre comment la sélection des fonctions, l’authentification, la source du modèle et les sorties de pile affectent CloudFormation et WordPress.
| Décision de l’assistant | Effet CloudFormation | Effet WordPress |
|---|---|---|
| Fonctions frontend | N’active que les routes backend nécessaires au chatbot, à DocSearch, au résumé ou aux outils linguistiques. | L’extension n’expose que les surfaces que le site souhaite réellement prendre en charge. |
| Mode d’authentification de l’administration | Privilégie Cognito pour les opérations d’administration et peut imposer des portées. | Les actions d’administration et de backend ne sont pas traitées par erreur comme des appels publics à l’IA. |
| Source du modèle | Utilise une URL de modèle S3 lisible par CloudFormation. | L’utilisateur voit une révision de pile native AWS plutôt qu’une étape cachée de provisionnement SaaS. |
| Sorties | Produit ApiBaseUrl et d’autres sorties de pile. | WordPress conserve le contrat du point de terminaison ; il ne possède pas l’environnement d’exécution backend. |
Parcours d’implémentation
Choisissez le chemin d’exécution selon la charge et les exigences de gouvernance
Ne faites pas passer toutes les fonctions d’IA par une seule route au seul motif que l’extension peut exposer plusieurs capacités.
- Classer les charges de l’éditeur et des visiteurs — Séparez la réécriture, la traduction et le travail sur les métadonnées côté éditeur des chatbots publics, de DocSearch et des autres requêtes déclenchées par les visiteurs.
- Utiliser l’exécution locale uniquement lorsqu’elle est réellement prise en charge — Conservez dans le navigateur les tâches embarquées compatibles lorsque cela répond aux besoins fonctionnels et aux règles applicables ; ne présentez pas comme locale une exécution que le navigateur ou la tâche ne prend pas en charge.
- Configurer les zones de confiance du backend — Séparez les routes d’administration privilégiées des routes publiques du frontend et ajoutez l’authentification, le WAF, la limitation de débit ou les contrôles anti-abus adaptés à chaque surface exposée.
- Gouverner la récupération et l’usage des sources — Définissez le contenu WordPress intégré à la source de connaissances, son découpage ou son exclusion, ainsi que la restitution des sources ou citations afin de pouvoir contrôler les réponses fondées.
Quand cette architecture apporte un contrôle utile
Bon choix
Charges d’IA ayant des besoins différents de confidentialité et d’exécution
- Certaines tâches de l’éditeur peuvent rester sur l’appareil tandis que d’autres fonctions nécessitent un modèle côté serveur ou un backend de récupération.
- Vous souhaitez que le backend configuré et ses ressources AWS résident dans un compte que vous contrôlez, sans imposer un proxy d’IA fournisseur partagé.
- DocSearch ou les chatbots destinés aux visiteurs ont besoin de réponses fondées et doivent continuer à fonctionner sur un frontend statique.
Rester plus simple
Un chemin d’IA plus simple peut suffire lorsque
- Le site n’a besoin que de tâches occasionnelles dans l’éditeur, déjà couvertes par l’IA locale prise en charge dans le navigateur.
- Une intégration SaaS d’IA conventionnelle répond aux exigences de l’organisation en matière de données, de gouvernance et d’exploitation.
- Il n’existe aucun besoin d’IA publique, de RAG, de citations, d’observabilité du backend ou d’infrastructure contrôlée par le client.
Guides pratiques
Problèmes d’acheteurs expliqués par cette architecture
Comment utiliser l’IA dans WordPress sans envoyer chaque brouillon à un service SaaS d’IA ?
Commencez par Utiliser l’IA dans WordPress sans envoyer chaque brouillon à un service SaaS d’IA. Le guide distingue le traitement local pris en charge du chemin backend configuré en option, sans prétendre que chaque tâche d’IA reste locale.
Comment fournir aux visiteurs des réponses fondées sur le contenu WordPress ?
Consultez Donnez aux visiteurs des réponses issues de votre contenu WordPress, avec leurs sources. La solution couvre DocSearch et le chatbot ; cette architecture explique les limites de la source de connaissances, de la récupération et du backend.
Où se situe la génération de métadonnées d’image par l’IA ?
Consultez Corrigez à grande échelle les textes alternatifs et métadonnées manquants des images WordPress. La génération de métadonnées est un workflow d’éditeur et peut utiliser les modes d’exécution pris en charge par AI-Kit ; la révision humaine reste importante pour les textes alternatifs liés à l’accessibilité.
L’IA du frontend peut-elle encore fonctionner après une publication statique ?
Oui, lorsque le navigateur peut atteindre directement le backend configuré. Rendez WordPress statique sans perdre ses fonctions dynamiques explique la règle générale : la livraison statique des pages et les services dynamiques du navigateur peuvent rester séparés.
Commencez par le chemin des données d’IA
Décidez où la charge d’IA doit s’exécuter avant de choisir le modèle
Utilisez le guide sur l’IA privée pour décider du chemin des données, puis celui sur les réponses fondées si le site doit aussi effectuer une récupération dans le contenu WordPress.
