AI-Kit-Backend-REST-API für WordPress-KI
Das AWS-Backend von AI-Kit stellt unter /admin/* und /frontend/* Endpunkte bereit, die den Funktionen der integrierten Chrome-KI entsprechen. Hinzu kommen Hilfsfunktionen zum Auflisten von Knowledge Bases und für vorsignierte Uploads.
Details zur Bereitstellung, Parameterbeschreibungen und Einrichtungshinweise finden Sie in der öffentlichen README des Serverless Application Repository: wpsuite-ai-kit in AWS SAR.
Authentifizierung
Die Authentifizierung wird vollständig über die SAR-Parameter gesteuert, die Sie beim Bereitstellen der Anwendung auswählen (siehe die oben verlinkte öffentliche README):
AdminApiAuthModeFrontendApiAuthMode
Beide Parameter können auf NONE, IAM oder COGNITO gesetzt werden. Der gewählte Wert bestimmt, wie Anfragen an die Endpunkte unter /admin/* oder /frontend/* authentifiziert werden müssen. Bei NONE kombinieren Sie den Endpunkt üblicherweise über die SAR-Konfiguration mit reCAPTCHA oder einer WAF (Firewall).
Wenn der reCAPTCHA-Schutz aktiviert ist, können Frontend-Endpunkte zusätzlich einen X-Recaptcha-Token-Header verlangen.
Wie das WordPress-Plugin das Backend nutzt
- Die AI-Kit-Blöcke, der Chatbot und die JavaScript-APIs rufen das Backend automatisch gemäß den Einstellungen auf, die Sie im Admin-Bereich unter AI-Kit Settings konfigurieren.
- Wenn reCAPTCHA für Frontend-Datenverkehr aktiviert ist, fordert das Plugin clientseitig Tokens an, damit Anfragen den erwarteten
X-Recaptcha-Token-Header enthalten. - Wenn Sie Gatey als Transport integrieren und unter Gatey Settings → API Settings einen passenden
apiNamekonfigurieren, können IAM-/Cognito-geschützte Bereitstellungen Tokens nahtlos austauschen und erneuern, nachdem sich der Benutzer über Gatey bei WordPress angemeldet hat. - Ohne Gatey-Anbindung können Sie das Backend aus eigenem Code (zum Beispiel mit
fetch) weiterhin direkt über den öffentlichen Endpunkt aufrufen. Verwenden Sie dazu den konfigurierten Authentifizierungsmodus oder Kontrollen auf Netzwerkebene wie Firewalls und Zulassungslisten. - Nutzen Sie dieses Dokument, wenn Sie auf dem bereitgestellten Backend eigene Abläufe oder externe Werkzeuge aufbauen möchten, statt nur die integrierten Plugin-Funktionen zu verwenden.
Endpunkte
Die Endpunkte sind in die Präfixe admin (WordPress-Dashboard) und frontend (öffentliche Benutzeroberfläche) aufgeteilt. Beide Gruppen akzeptieren application/json, sofern nicht anders angegeben.
Admin-Endpunkte (/admin/*)
| Pfad | Methode | Zweck |
|---|---|---|
/admin/knowledge-bases | GET | Für die RAG-Integration verfügbare Bedrock Knowledge Bases auflisten |
/admin/prompt | POST | Allgemeine Prompt-API entsprechend der lokalen Funktion (von SEO-Abläufen genutzt) |
/admin/generate-upload-url | GET | Vorsignierte S3-Upload-URLs für multimodale Prompts |
/admin/summarize | POST | Backend-Fallback für Zusammenfassungen |
/admin/write | POST | Backend-Fallback für Texterstellung (KB standardmäßig aktiviert) |
/admin/rewrite | POST | Backend-Fallback für Umformulierungen |
/admin/translate | POST | Backend-Fallback für Übersetzungen |
/admin/proofread | POST | Backend-Fallback für Korrekturlesen |
/admin/detect-language | POST | Backend-Fallback für Spracherkennung |
Frontend-Endpunkte (/frontend/*)
Diese Endpunkte werden über SAR-Parameter (EnableSummarizerBackend, EnableChatbotBackend, EnableLanguageAIBackend) funktionsabhängig freigeschaltet. Aktiviert entsprechen sie den Admin-Routen und können X-Recaptcha-Token verlangen.
| Pfad | Methode | Hinweise |
|---|---|---|
/frontend/prompt | POST | Wird von sendChatMessage und sendFeedbackMessage des Chatbots verwendet |
/frontend/generate-upload-url | GET | Vorsignierte Uploads für den öffentlichen Chatbot |
/frontend/summarize | POST | Gleiche Nutzlast wie der Admin-Endpunkt für Zusammenfassungen |
/frontend/write | POST | Gleiche Nutzlast wie der Admin-Endpunkt für Texterstellung |
/frontend/rewrite | POST | Gleiche Nutzlast wie der Admin-Endpunkt für Umformulierungen |
/frontend/translate | POST | Gleiche Nutzlast wie der Admin-Endpunkt für Übersetzungen |
/frontend/proofread | POST | Gleiche Nutzlast wie der Admin-Endpunkt für Korrekturlesen |
/frontend/detect-language | POST | Gleiche Nutzlast wie der Admin-Endpunkt für Spracherkennung |
Beispielnutzlasten
// /admin/prompt (or /frontend/prompt)
{
"messages": [
{ "role": "system", "content": "You are a helpful assistant." },
{ "role": "user", "content": "Extract a title and 5 bullet points from the text below..." }
],
"saveChatSession": false
}
// /admin/write
{
"text": "Write a short product description...",
"tone": "professional",
"format": "markdown",
"length": "short",
"outputLanguage": "en"
}
// /admin/translate (source language required)
{
"text": "Hello world",
"sourceLanguage": "en",
"targetLanguage": "hu"
}
// /admin/language-detector
{
"text": "Szia! Hogy vagy?"
}
// /admin/proofread
{
"text": "I has a apple.",
"expectedInputLanguages": ["en"]
}
Fehlerantworten
Fehler werden in der Form ErrorResponse zurückgegeben (Statuscode, Meldung und optionale Details). Häufige Ursachen sind:
- zu große Nutzlasten (Bild-Uploads, umfangreiche Prompts),
- ungültige Enum-Werte (zum Beispiel eine fehlende
sourceLanguagebeim Übersetzen), - fehlende Anmeldedaten oder eine Ablehnung durch IAM, Cognito, WAF oder reCAPTCHA.
