Auf einen Blick
ProjektProduktentwicklung, Fragon StudiosBrancheKI / WordPress-ÖkosystemTechnologienPHP 8, WordPress, MySQL, OpenAI-kompatible APIs, Vanilla JSErgebnisKI-Chatbot mit Vector Search in MySQL, läuft auf jedem Shared Hosting
Die Ausgangssituation
WordPress-Seitenbetreiber wollen ihren Besuchern schnelle Antworten bieten, ohne ein Support-Team zu beschäftigen. Die vorhandenen Chatbot-Plugins sind entweder regelbasiert (statische Frage-Antwort-Paare, die manuell gepflegt werden müssen) oder an spezifische SaaS-Dienste gebunden (Daten verlassen den Server, monatliche Kosten, Vendor Lock-in).
Unser Ziel: Ein Plugin, das die Inhalte der Website automatisch indexiert und daraus KI-gestützte Antworten generiert. Mit jedem OpenAI-kompatiblen Modell, vollständig auf dem Server des Kunden.
Die zentrale Designentscheidung: Vector Search in MySQL
Die gängige Architektur für RAG-Systeme (Retrieval-Augmented Generation) setzt auf spezialisierte Vector-Datenbanken wie Pinecone, Weaviate oder Qdrant. Für ein WordPress-Plugin ist das unpraktisch, weil es eine zusätzliche Infrastrukturkomponente erfordern würde, die die meisten WordPress-Hoster nicht anbieten.
Unsere Lösung: Embeddings direkt in MySQL speichern und Cosine Similarity in PHP berechnen.
Embeddings werden als Binary Blob gespeichert (pack('f*', ...$vector) als LONGBLOB) und bei Abfragen entpackt. Die Ähnlichkeitssuche berechnet das Dot Product über alle gespeicherten Vektoren.
Das klingt nach einem Performance-Problem, ist aber in der Praxis überraschend schnell: Bei 1.000 bis 5.000 Content-Chunks (was für 95% aller WordPress-Seiten reicht) liegt die Suchzeit unter 500ms. Keine externe Datenbank, kein zusätzlicher Service, alles bleibt auf dem Server des Kunden.
Was Sie daraus mitnehmen können: Vector Search braucht keine Vector Database. Für Anwendungen mit wenigen tausend Dokumenten reicht eine relationale Datenbank mit binärer Vektorspeicherung völlig aus. Die Komplexität einer dedizierten Vector DB lohnt sich erst ab sechsstelligen Dokumentenzahlen.
Architektur
Das Plugin besteht aus vier Kernmodulen:
Indexer Service. Crawlt WordPress-Inhalte (Posts, Pages, Custom Post Types), teilt sie in Chunks und generiert Embeddings über die konfigurierte API. Der Indexer wird automatisch bei Änderungen ausgelöst. Wenn ein Post gespeichert oder gelöscht wird, aktualisiert sich der Index über WordPress-Hooks (, ).
