Eigene LLMs & KI-Systeme · ready4future ICT
Wie binden wir ein lokales KI-Modell in PHP ein?
Kurz gesagt
Eine PHP-Anwendung schickt per HTTP-Anfrage (zum Beispiel mit cURL) Modellname und Auftrag an die Schnittstelle des lokalen Modellservers und liest die Antwort aus dem Ergebnis. Wichtig sind eine Zeitgrenze, saubere Fehlerbehandlung und das Maskieren der Ausgabe.
Das Problem
Ihre Firma betreibt eine PHP-Anwendung: ein Kundenportal, eine interne Verwaltung oder eine Website mit Formularen. PHP ist eine weit verbreitete Programmiersprache für Webseiten. Nun soll eine KI-Funktion dazukommen, etwa ein Entwurf für eine Antwort an eine Kundin oder eine Zusammenfassung eines langen Textes.
Das Sprachmodell läuft lokal auf einem eigenen Rechner, damit Texte das Haus nicht verlassen. Die PHP-Anwendung muss deshalb mit diesem Modellserver sprechen, wie sie es auch mit anderen Diensten täte.
Das Prinzip ist einfach: Die Anwendung sendet eine Anfrage über das Netzwerk und erhält Text zurück. Stolpersteine sind lange Wartezeiten, unsaubere Ausgabe und der Schutz des Zugangs.
So lösen Sie es mit KI – Schritt für Schritt
- Modellserver klären. Prüfen Sie, wo der Server läuft (zum Beispiel Ollama unter
http://localhost:11434oder ein anderer Rechner im Firmennetz) und wie das Modell heisst. - Erreichbarkeit testen. Der Webserver, auf dem PHP läuft, muss den Modellserver erreichen. Läuft beides auf demselben Rechner, ist das einfach. Sonst muss die Firewall die Verbindung zulassen, aber nur diese.
- cURL verfügbar machen. Die PHP-Erweiterung cURL wird für Webanfragen verwendet. Ihre IT prüft, ob sie aktiv ist.
- Anfrage bauen. Der Auftrag wird als JSON (ein Textformat für strukturierte Daten) verschickt. Verwenden Sie
json_encodestatt Textverkettung, damit Sonderzeichen sauber ankommen. - Zeitgrenze setzen. Legen Sie fest, wie lange PHP warten darf (zum Beispiel 120 Sekunden), und stellen Sie die Skriptlaufzeit passend ein. Siehe Zeitüberschreitung behandeln.
- Antwort prüfen. Entschlüsseln Sie die Antwort mit
json_decodeund prüfen Sie, ob Text enthalten ist. Fehlt er, zeigen Sie eine Fehlermeldung. - Ausgabe maskieren. Geben Sie den Text nur mit
htmlspecialcharsaus. Das Modell kann Zeichen liefern, die sonst als Programmcode in der Seite landen würden. - Lange Aufgaben auslagern. Dauert eine Auswertung Minuten, gehört sie in den Hintergrund, siehe Hintergrundaufträge.
Vorlage zum Kopieren
Mit diesem Auftrag lassen Sie sich einen Codeentwurf erstellen, den Ihre IT prüft.
Schreibe ein kurzes PHP-Beispiel (PHP 8), das mit cURL eine Anfrage an einen lokalen Modellserver schickt.
Adresse: [z. B. http://localhost:11434/api/chat]
Modellname: [Modellname]
Aufgabe: [z. B. Text in drei Sätzen zusammenfassen]
Anforderungen:
- JSON mit json_encode erzeugen, Antwort mit json_decode lesen
- Zeitgrenze für die Verbindung und für die Antwort setzen
- Fehler von cURL und leere Antworten abfangen
- Ausgabe nur mit htmlspecialchars
- Kommentare auf Deutsch
Erfinde keine PHP-Funktionen. Weise darauf hin, was die IT-Person vor dem Einsatz prüfen muss.Fügen Sie die Angaben ein und lassen Sie den Code von Ihrer IT oder einem Entwickler prüfen, bevor er in die Anwendung kommt.
Die Grundform, wie sie ein Entwickler schreibt:
$ch = curl_init('http://localhost:11434/api/chat');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 120,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'model' => '[Modellname]',
'messages' => [['role' => 'user', 'content' => '[Auftrag]']],
'stream' => false,
]),
]);
$antwort = curl_exec($ch);
$daten = json_decode((string) $antwort, true);
echo htmlspecialchars($daten['message']['content'] ?? 'Keine Antwort erhalten.');Worauf Sie achten müssen
- Zugangsschutz: Der Modellserver hat meist keine Anmeldung. Lassen Sie ihn nur vom Webserver erreichen, nicht aus dem ganzen Netz.
- Wartezeit: Eine Seite, die eine Minute lädt, wirkt kaputt. Zeigen Sie einen Hinweis oder arbeiten Sie im Hintergrund.
- Gleichzeitige Nutzer: Ein lokales Modell bearbeitet Anfragen oft nacheinander. Bei mehreren Nutzenden entstehen Warteschlangen.
- Personendaten: Senden Sie nur, was für die Aufgabe nötig ist, und speichern Sie Eingaben und Antworten sparsam. Bei Fragen zum Datenschutz holen Sie eine Fachperson bei.
- Fehler der KI: Behandeln Sie Antworten als Entwurf. Eine Person gibt sie frei, bevor sie an Kundinnen gehen.
Ein Beispiel aus der Praxis
Ein Beispiel: Ein Verein für Wohnbaugenossenschaften in Bern führt ein Mitgliederportal in PHP. Die Geschäftsstelle erhält viele ähnliche Anfragen und möchte Antwortentwürfe erstellen lassen.
Ein Entwickler ergänzt eine Funktion «Antwort vorschlagen». Sie sendet Anfrage und Text an das lokale Modell auf einem Büro-Server. Beim ersten Test hängt die Seite fast zwei Minuten, weil die Zeitgrenze fehlt. Nach der Korrektur erscheint nach spätestens 60 Sekunden eine Meldung, dass es später erneut versucht werden kann. Die Geschäftsstelle prüft jeden Entwurf, bevor er versendet wird.
So hilft Ihnen Alpasana
Für solche Erweiterungen bestehender Software setzen begleitete Informatiklernende bei ready4future ICT Aufgaben um: Erweiterung bestehender Software, Schnittstellen, KI-Workflows und Textgenerierung. Fachliche Begleitung, Vier-Augen-Prüfung und Dokumentation sind Teil des Angebots, Abnahme erfolgt durch Sie.
Als Standard arbeitet das Team mit Testdaten sowie anonymisierten oder synthetischen Daten, primär remote.
Häufige Fragen
Brauche ich eine PHP-Bibliothek dafür?
Nein, cURL genügt. Es gibt zwar fertige Bibliotheken, doch jede ist ein weiterer Baustein, der gepflegt werden muss. Für eine einfache Funktion reicht der Aufruf mit cURL.
Darf der Browser direkt mit dem Modellserver sprechen?
Besser nicht. Lassen Sie den PHP-Server die Anfrage senden. So bleibt der Modellserver geschützt, siehe CORS-Fehler bei lokaler KI.
Was, wenn der Modellserver nicht läuft?
Fangen Sie den Fehler ab und zeigen Sie eine verständliche Meldung. Die Anwendung soll ohne KI weiterlaufen, die KI-Funktion ist eine Ergänzung.
Erstellt mit KI-Unterstützung, redaktionell verantwortet von der Alpasana GmbH · 10.10.2026. So arbeitet die Redaktion · Fehler entdeckt? Melden Sie es uns.
Quellen
Weiterlesen in der Galaxie
- Lokales LLM API Integration: Software anbindenLokales LLM API anbinden: Verbinden Sie Ihre Software mit einem Sprachmodell im eigenen Netz und prüfen Sie Verbindung, Schutz sowie Fehlerbehandlung.
- Wie verbindet man eine Webanwendung mit Ollama?Ollama JavaScript: So verbinden Sie eine interne Webanwendung über das Backend mit Ollama, mit Beispielanfrage, Sicherheitshinweisen und Testschritten.
- Wie verbindet man eine .NET-Anwendung mit lokaler KI?Lokales LLM .NET: So ruft Ihre Windows-Fachanwendung in C# ein lokales Sprachmodell über die HTTP-Schnittstelle auf, mit Beispiel und Prüfliste.
- Wie integriert man ein lokales LLM in eine Java-Anwendung?Lokales LLM Java: So ergänzen Sie eine bestehende Java-Anwendung um eine KI-Textfunktion über die HTTP-Schnittstelle, mit Beispiel und Sicherheitshinweisen.
- Ollama aktualisieren: Wie sichere ich meine Einrichtung?Ollama Update: Checkliste, wie Sie vor dem Aktualisieren Einstellungen und Modellliste sichern, auf den neuen Stand wechseln und per Funktionstest prüfen.
- Was kostet ein Chatbot für ein Unternehmen?Chatbot Kosten: Aus welchen Posten sich die Kosten eines Unternehmens-Chatbots zusammensetzen und wie Sie ein realistisches Budget planen können.