Was ist die OpenAI API?
Die OpenAI API ist eine Programmierschnittstelle zu Sprachmodellen. Dein Server schickt eine Anfrage als JSON über HTTPS und bekommt eine Antwort zurück — Text, oder auf Wunsch ein Datenformat, das du vorher festgelegt hast. Authentifiziert wird mit einem API-Schlüssel, der als Bearer-Token im Authorization-Header mitgeht; über zusätzliche Kopfzeilen lässt sich angeben, welcher Organisation und welchem Projekt die Nutzung zugerechnet wird. Für eine Website heißt das: Das Modell ist keine Software, die du installierst, sondern ein Dienst, den deine Anwendung im laufenden Betrieb befragt. Es rechnet nichts vor, es hält nichts vor — es antwortet auf genau das, was in der Anfrage steht.
Was lässt sich damit auf einer Website bauen?
Vier Grundformen decken das meiste ab. Erzeugen: aus Stichpunkten wird ein Entwurf, aus einem Datensatz ein Beschreibungstext, aus einem Artikel ein Vorschlag für Titel und Teaser. Zusammenfassen: ein langes Dokument wird auf das Wesentliche gekürzt. Klassifizieren: eine eingehende Anfrage bekommt eine Kategorie, eine Priorität, eine Zuständigkeit. Beantworten: eine Frage wird auf Grundlage hinterlegter Inhalte beantwortet. Wichtig ist die Reihenfolge: Zuerst steht der Anwendungsfall, dann die Frage, ob ein Sprachmodell dafür der richtige Weg ist. Vieles, was nach KI aussieht, ist eine Suche, ein Filter oder ein sauber gebautes Formular — und dann bauen wir das, weil es schneller ist, weniger kostet und immer dasselbe Ergebnis liefert.
Ist das dasselbe wie KI-gestützte Entwicklung?
Nein, das sind zwei verschiedene Themen, die nur denselben Grundstoff teilen. KI-gestützte Entwicklung beschreibt unsere eigene Arbeitsweise: wie wir mit KI-Werkzeugen Code schreiben, prüfen und ausliefern. Diese Seite handelt vom Gegenteil der Blickrichtung — von einer Funktion, die auf deiner Website läuft und die deine Besucher benutzen. Das eine ist unser Werkzeugkasten, das andere ist dein Feature. Die buchbaren Leistungen dazu heißen KI & Automation sowie KI-Chatbots; diese Seite erklärt die Schnittstelle und ihre Technik darunter.
Was sind Embeddings, und wofür braucht man sie?
Ein Embedding ist die Übersetzung von Text in einen Vektor — eine Liste von Zahlen. Die Dokumentation beschreibt den Zweck nüchtern: Der Abstand zwischen zwei Vektoren misst, wie verwandt die beiden Texte sind; kleiner Abstand bedeutet hohe Verwandtschaft. Als Abstandsmaß empfiehlt die Dokumentation die Kosinus-Ähnlichkeit, und sie nennt als Einsatzgebiete unter anderem Suche, Gruppierung, Empfehlungen und Klassifikation. Für eine Website ist das der entscheidende Baustein: Wir übersetzen deine Inhalte einmal in Vektoren und legen sie ab. Kommt eine Frage, wird auch sie zum Vektor, und wir holen die inhaltlich nächstliegenden Passagen heraus. Erst diese Passagen gehen zusammen mit der Frage an das Modell. Damit antwortet der Assistent auf Grundlage deiner Inhalte, statt aus dem allgemeinen Sprachwissen zu schöpfen — und du kannst mitliefern, aus welchem Dokument die Antwort stammt.
Warum gehört der API-Schlüssel auf den Server, und wie verhindert man Missbrauch?
Weil alles, was der Browser lädt, auch lesbar ist. Ein Schlüssel in JavaScript, in einem Datenattribut oder in einer Konfigurationsdatei des Frontends steht damit jedem Besucher zur Verfügung — und jede Anfrage, die jemand damit stellt, läuft auf deine Rechnung. Die Dokumentation ist an dieser Stelle unmissverständlich und sagt, den Schlüssel nicht zu teilen und nicht in clientseitigem Code offenzulegen, sondern ihn auf dem Server aus einer Umgebungsvariablen oder einem Schlüsseldienst zu laden. Der Missbrauchsschutz gehört in dieselbe Schicht: eine Begrenzung, wie viele Anfragen ein Besucher in einem Zeitraum stellen darf, eine Höchstlänge für die Eingabe, ein Zeitlimit je Anfrage und eine Obergrenze für die Länge der Antwort. Dazu kommt die Kostenkontrolle über die Nutzungsgrenzen im Konto und eine Protokollierung, die sichtbar macht, wenn der Verbrauch aus der Reihe läuft.
Kann sich das Modell irren, und was folgt daraus?
Ja. Ein Sprachmodell erzeugt eine plausible Antwort, keine geprüfte. Es kann eine Zahl nennen, die es so nicht gibt, oder eine Aussage flüssig formulieren, die nicht stimmt. Das ist kein Argument gegen den Einsatz, aber ein Argument für eine bestimmte Bauweise. Wir ziehen deshalb eine Linie: Wo es um Preise, Verfügbarkeiten, Fristen, Termine oder rechtlich verbindliche Auskünfte geht, kommt die Antwort aus der Datenquelle und nicht aus dem Modell — das Modell darf höchstens formulieren, was die Quelle liefert. Wo es um Erklärungen, Vorschläge und Entwürfe geht, ist ein Modell gut aufgehoben, solange erkennbar bleibt, dass eine Maschine antwortet, und solange ein Weg zum Menschen offen bleibt. Antworten aus eigenen Inhalten belegen wir zusätzlich mit einem Verweis auf die Quelle, damit sich jede Aussage nachschlagen lässt.
Was ist beim Datenschutz zu klären?
Der Kern ist schnell gesagt: Was in eine Anfrage geht, verlässt deinen Server. Daraus folgt Datensparsamkeit als erste Regel — in die Anfrage geht der Ausschnitt, der für die Aufgabe gebraucht wird, und personenbezogene Daten nur dann, wenn es ohne sie nicht geht. Zu klären sind vor dem Start die Auftragsverarbeitung mit dem Anbieter, der Verarbeitungsort und die Frage, was gespeichert wird. OpenAI dokumentiert dazu, dass über die API gesendete Daten standardmäßig nicht zum Training der Modelle verwendet werden, dass Protokolle zur Missbrauchserkennung in der Regel bis zu 30 Tage aufbewahrt werden und dass es Vertragsoptionen für den Verarbeitungsort und für den Verzicht auf diese Speicherung gibt — welche davon für dein Konto gelten, steht in deinem Vertrag und nicht auf einer Agenturseite. Dazu kommt die Transparenz gegenüber deinen Besuchern: Wer mit einer KI-Funktion spricht, sollte das wissen und es in der Datenschutzerklärung wiederfinden. Eine Rechtsberatung ist das ausdrücklich nicht.
Lässt sich die OpenAI API in TYPO3, WordPress oder Statamic integrieren?
Ja, in allen drei Systemen — und wir bauen die Anbindung jeweils selbst mit den Bordmitteln des Systems. Der Aufbau ist überall derselbe: ein eigener Endpunkt auf deinem Server, der die Anfrage annimmt, prüft, begrenzt und erst dann weiterreicht; der Schlüssel liegt dahinter und nie im Browser. In TYPO3 entsteht dafür eine eigene Extension mit einer Middleware oder einer Controller-Route als Endpunkt, dem Schlüssel in der Extension-Konfiguration oder einer Umgebungsvariablen und der Ausgabe in Fluid. In WordPress bauen wir ein eigenes Plugin statt Theme-Code, mit einer eigenen REST-Route und dem Schlüssel als Konstante in der wp-config.php oder als Umgebungsvariable. In Statamic liegt Laravel darunter: eine Route plus Controller, der Schlüssel in der .env, die Ausgabe in Antlers oder Blade. Was sich unterscheidet, ist nur, wo Route, Konfiguration und Template jeweils hingehören.