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 backend
  • backend-fallback — privilégier l'appareil, repli sur le backend
  • backend-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 :

  • prompt
  • summarizer
  • writer
  • rewriter
  • proofreader
  • language-detector
  • translator

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" (gatey signifie "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.

Front-end vs Admin

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.