Modes d'AI-Kit et capacités d'IA pour WordPress
AI‑Kit peut exécuter chaque fonctionnalité à partir de l'une de deux sources :
- sur l'appareil — les API Chrome Built-in AI (Gemini Nano) dans le navigateur de l'utilisateur
- backend — votre propre backend AI-Kit hébergé sur AWS (template SAR)
Préférence de mode
La préférence globale est l'une des suivantes :
local-only— uniquement sur l'appareil, jamais le backendbackend-fallback— privilégier l'appareil, repli sur le backendbackend-only— uniquement le backend, ignorer l'appareil
Ces valeurs sont représentées par AiModePreference.
Fonctionnalités prises en charge
AI‑Kit suit les capacités par fonctionnalité IA intégrée :
promptsummarizerwriterrewriterproofreaderlanguage-detectortranslator
Vérifications de capacité programmatiques
Utilisez ces aides lorsque vous devez décider avant de rendre une interface :
import { decideCapability, checkOnDeviceAvailability, getMinChromeVersions } from "@smart-cloud/ai-kit-core";
const min = await getMinChromeVersions(); // { prompt: "...", summarizer: "...", ... }
const onDevice = await checkOnDeviceAvailability("writer");
if (onDevice.available) {
// Chrome API is available / downloadable / downloading
}
// For translator you must pass source/target languages to availability()
const translator = await checkOnDeviceAvailability("translator", {
sourceLanguage: "en",
targetLanguage: "de",
});
const decision = await decideCapability("writer");
// Optional overrides:
// - availability options (same shape as Chrome create() options)
// - modeOverride to force local/backend behaviour for this call
const forcedBackend = await decideCapability(
"writer",
undefined,
"backend-only",
);
console.log(decision.source); // "on-device" | "backend" | "none"
console.log(forcedBackend.reason); // detailed string explaining the decision
decideCapability(feature, availabilityOptions?, modeOverride?) reproduit la logique d'exécution utilisée en interne par AI-Kit.
availabilityOptions doit correspondre aux options create() de l'API Chrome pour la fonctionnalité demandée (par exemple Translator nécessite sourceLanguage et targetLanguage). modeOverride vous permet de forcer temporairement "local-only", "backend-fallback" ou "backend-only" sans toucher aux paramètres globaux.
Configuration du backend (lorsqu'elle est activée)
Lorsque l'utilisation du backend est autorisée, AI-Kit a besoin de :
backendTransport:"fetch"ou"gatey"(gateysignifie "utiliser le transport signé de Gatey" lorsque Gatey est présent)backendBaseUrl: URL de base complète pour l'API backend (cas habituel)backendApiName: nom d'API si votre transport l'exige
Dans la plupart des configurations, vous ne définirez que backendBaseUrl.
AI-Kit distingue context: "admin" | "frontend" pour les appels backend. Certains déploiements peuvent exposer des préfixes de chemin séparés (par exemple /admin/* et /frontend/*) avec des politiques de sécurité différentes.
