NCA Social Media
Aktualisiert:
Autor:
Roland Golla
Grüne isometrische Grafik Browser mit Text Model Inference und Rakete

Was ist Model Inference in Symfony AI?

Model Inference bezeichnet in Symfony AI das Senden von Prompts an ein KI Modell und das Empfangen der Antwort über einen einzigen Methodenaufruf. Die Platform Component abstrahiert dabei die Unterschiede der Anbieter. Du sprichst OpenAI, Anthropic, Mistral, Google Gemini oder ein lokales Modell über dieselbe invoke Schnittstelle an, ohne deinen Anwendungscode zu ändern.

Das mentale Modell besteht aus drei Bausteinen: Du baust eine MessageBag aus Message Objekten, übergibst sie einer Platform über invoke und liest das Result mit einer der asText, asObject, asFile oder asStream Methoden aus. Diese drei Nomen lernst du einmal, danach funktioniert jeder Anbieter und jede Modalität gleich.

Der Vorteil liegt in der Entkopplung: KI Modelle ändern sich schneller als Bibliotheken, neue erscheinen fast täglich. Model Inference über die Platform trennt den Modell Lebenszyklus vom Anwendungscode. Never Code Alone setzt genau diese Abstraktion ein, um KI Features anbieterunabhängig in Symfony und Sulu CMS Projekte zu bringen, inklusive lokaler Modelle für den Datenschutz.

Model Inference mit NCA: Anbieterunabhängig im PHP Stack

Never Code Alone arbeitet seit über 20 Jahren mit PHP und nutzt die Platform Component im eigenen Symfony Stack. Kleine Modelle laufen lokal über Ollama, große Modelle kommen über europäische Inferenz. Ein invoke Aufruf ist schnell geschrieben. Schwierig wird es, wenn das Feature in ein altes System soll, das keinen sauberen Platz dafür hat.
Dafür gibt es den NCA Symfony AI Team Mate. Neben eurem Legacy entsteht ein Symfony Projekt in Docker, das an eure Daten angebunden ist und AI Features ab dem ersten Tag ausliefert, egal welcher Anbieter dahinter steht. Abgesichert wird das über eine CI CD Pipeline mit Docker und Staging und die NCA PHP AI Coding Guidelines. Für Daten, die das Haus nicht verlassen dürfen, kombinieren wir das mit Self Hosted KI für Unternehmen. Der alte Code folgt Stück für Stück über PHP Refactoring.
KI Modelle anbieterunabhängig ins Symfony Projekt bringen
Finde das passende Angebot für dein Projekt
Anfrage-Konfiguration
Starten Sie Ihre Anfrage
Projektart
Infos
Nachricht

Eliminierung technischer Schulden mit PHPStan, Rector PHP und PHPUnit. Über 20 Jahre Praxiserfahrung in skalierbaren Backends.

CORE EXPERTISE

Gesetzliche Konformität & Inklusion. Optimierung von Performance und Conversion durch radikal nutzerzentriertes, universelles Design.

BFSG COMPLIANT

Skalierbare KI-Systeme mit echtem Code Ownership. CI/CD, Backup-Strategien und Infrastruktur, die mit deinem Team wächst.

ENTERPRISE READY

Wie funktioniert Model Inference in Symfony AI?

Du erstellst eine Platform über eine Factory, baust eine MessageBag mit System und User Nachricht und rufst invoke mit Modellname und Nachrichten auf. Das Ergebnis liest du über asText als reinen Text aus. Genau dieses eine Beispiel zeigt bereits das komplette Prinzip.

Code:
          

$platform = Factory::createPlatform($apiKey, http_client());

$messages = new MessageBag(
    Message::forSystem('You are a helpful assistant.'),
    Message::ofUser('What is the Symfony framework?'),
);

$result = $platform->invoke('gpt-5-mini', $messages);
echo $result->asText();

Drei Bausteine reichen: MessageBag, Platform und Result. Die Platform ist eine dünne Abstraktion über die Anbieter APIs, jeder Aufruf läuft über dieselbe invoke Methode, unabhängig davon, welches Modell dahinter steckt. Das Result liefert je nach Bedarf Text, ein typsicheres Objekt, eine Datei oder einen Stream.

Anbieter wechseln ohne Code Änderung

Der eigentliche Gewinn von Model Inference ist die Anbieterunabhängigkeit. Willst du von OpenAI zu Anthropic wechseln, tauschst du nur die Factory und den Modellnamen. Der restliche Code bleibt identisch, weil MessageBag, invoke und Result für jeden Anbieter gleich funktionieren.

Code:
          

// OpenAI
use Symfony\AI\Platform\Bridge\OpenAi\Factory;

$platform = Factory::createPlatform($apiKey);
$result = $platform->invoke('gpt-5-mini', $messages);

// Anthropic: nur Factory und Modellname tauschen
use Symfony\AI\Platform\Bridge\Anthropic\Factory as AnthropicFactory;

$platform = AnthropicFactory::createPlatform($apiKey);
$result = $platform->invoke('claude-opus-4-8', $messages);

Die Liste der unterstützten Plattformen ist lang: OpenAI, Anthropic, Google Gemini, Azure OpenAI, AWS Bedrock, Mistral, Ollama, ElevenLabs und jeder OpenAI kompatible Endpoint über die Generic Bridge. Über den models.dev Bridge bleibt der Modellkatalog aktuell, neue Modelle kommen per composer update dazu, ohne dass du Listen pflegst. Auf Platform Ebene lassen sich zudem Failover und Load Balancing einrichten.

Model Inference lokal mit Ollama und DSGVO

Model Inference funktioniert nicht nur in der Cloud. Über die Ollama Bridge sprichst du lokale Modelle auf eigener Hardware an, mit demselben invoke Aufruf. Für DSGVO sensible Projekte ist das die naheliegende Wahl, weil keine Prompts den eigenen Server verlassen.

Code:
          

use Symfony\AI\Platform\Bridge\Ollama\PlatformFactory;

$platform = PlatformFactory::create(
    'http://127.0.0.1:11434',
    HttpClient::create(),
);

$result = $platform->invoke('qwen3', $messages);
echo $result->asText();

In der NCA Produktion setzen wir lokale Modelle über Ollama mit Qwen und Llama ein und kombinieren sie je nach Anforderung mit europäischen Anbietern wie Mistral. So bleiben Daten und Kosten im Haus. Die Platform Abstraktion erlaubt es, im Development lokal zu arbeiten und in Production bei Bedarf auf ein stärkeres Modell zu wechseln, ohne den Code anzufassen.

Eine Schnittstelle für Streaming, Multi Modal und mehr

Dieselbe invoke Schnittstelle deckt deutlich mehr ab als reinen Text. Über Optionen und unterschiedliche Result Methoden erschließt du weitere Modalitäten:

  • Streaming: Mit der Option stream und asStream gibst du Token für Token aus, wie in einem Chat Interface.
  • Multi Modal: Bilder, PDFs oder Audio gibst du zusammen mit Text in die MessageBag, etwa für Bildbeschreibung oder Dokumentenanalyse.
  • Speech: Text zu Sprache und Sprache zu Text laufen über dieselbe invoke Methode mit Anbietern wie ElevenLabs oder Whisper.
  • Embeddings: Embedding Modelle liefern über asVector numerische Vektoren als Basis für semantische Suche und RAG.

Ein API, ein mentales Modell: Du lernst MessageBag, invoke und Result einmal und nutzt damit jede Fähigkeit der Modelle. Auf Structured Output baut die typsichere Variante auf, bei der das Result direkt ein PHP Objekt ist.

Model Inference in Symfony und Sulu CMS Projekten

Im NCA Stack ist Symfony die Basis und Sulu CMS das produktive Content System. Die Platform landet als Service im Container, jeder invoke Aufruf ist über den Symfony Profiler nachvollziehbar und mit PHPUnit getestet. Für Integrationstests nutzen wir den Symfony KernelTestCase und mocken Modellantworten über den HttpClient MockResponse, sodass keine echten API Calls nötig sind.

So wird aus einem KI Feature getesteter Code, der in Production zuverlässig läuft. Wir beraten Teams beim Einbau im Rahmen unseres Vibe Coding Consultings, beim 1 zu 1 Mentoring und beim Onboarding ins Team. Wer ein festgefahrenes KI Projekt hat, findet Hilfe beim Vibe Coding Projekt retten.

Neu in Symfony AI 0.14: mehr Anbieter, asynchrone Jobs, Kosten im Blick

Mit Version 0.14.0 vom 25. September 2026 wächst die Platform Component deutlich. Das Prinzip bleibt gleich, ein invoke für jedes Modell, aber die Auswahl hinter dieser Schnittstelle wird größer.
Neue Platform Bridges: Eden AI als Gateway, Venice, Higgsfield, Together, Fireworks AI, Bedrock Mantle als OpenAI kompatible Schnittstelle und eine TypeSafe Bridge. Für OpenAI kommen Realtime Sessions dazu, also bidirektionales Audio für Voice Agents.
Asynchrone Jobs: Anbieter, bei denen man bisher auf ein Ergebnis warten und nachfragen musste, laufen jetzt als asynchrone Jobs. Darauf aufbauend unterstützt Symfony AI Batch Requests bei OpenAI. Für große Mengen an Texten, die nicht sofort fertig sein müssen, ist das der richtige Weg.
Kosten und Transparenz: TokenUsage kennt jetzt das Modell, was die Kostenberechnung pro Modell deutlich einfacher macht. Die Events ResultConvertedEvent und ResultErrorEvent tragen die Identität des Anbieters, und der Symfony Profiler zeigt Stopwatch Events in der Timeline. Bei Albert, der KI Plattform der französischen Verwaltung, liefert das Ergebnis sogar den CO2 Fußabdruck als Metadaten mit.
Unsere Einordnung: Mehr Anbieter heißt nicht automatisch mehr Optionen für deutsche Unternehmen. Entscheidend bleibt, wo die Daten verarbeitet werden. Für Datenverarbeitung setzen wir weiter auf Ollama lokal, für Budgets und Routing auf einen Proxy wie LiteLLM. Die neue Token Zuordnung pro Modell passt dazu, weil Kosten endlich direkt in der Anwendung sichtbar werden.

At first AI is a ton of buzzwords and hype

Christopher Hertel, Initiator von Symfony AI – Speaker Deck, PHP UK 2026

NCA Erfahrung mit Model Inference

In Beratungsprojekten sehen wir oft denselben Fehler: Eine Anwendung wird fest gegen die API eines einzigen Anbieters verdrahtet. Sobald sich Preise, Verfügbarkeit oder Datenschutzanforderungen ändern, wird der Wechsel teuer. Model Inference über die Platform löst das, weil der Anbieter zu einem austauschbaren Detail wird statt zu einer Architekturentscheidung.

Unser Ansatz: KI Feature anbieterunabhängig bauen, lokal mit Ollama entwickeln und mit deterministischen Werkzeugen absichern. PHPStan und Psalm prüfen die Typen, PHPUnit hält das Verhalten fest, eingebettet in eine CI/CD Pipeline. Wer Symfony AI weiter erkunden will, findet im Structured Output Eintrag, beim Symfony AI Mate und im Neuron AI Vergleich weitere Bausteine.

CYPRESS.IO Ambassador und IT Consultant für QA Engenieering und Qualität in PHP Projekten.

NCA Vibe Coding Consulting

Roland Golla ist Entwickler aus Leidenschaft – seit über 20 Jahren. Er hat hunderte Projekte begleitet, von Legacy-Refactoring bis KI-Integration. Bei Vibe Coding verbindet er das Beste aus beiden Welten: Die Geschwindigkeit von KI-generiertem Code mit der Qualität professioneller Softwareentwicklung. Kein Bullshit, keine Agentur-Floskeln – direkte Hilfe von jemandem, der selbst täglich im Code steckt.

Häufige Fragen zu Model Inference in Symfony AI

Die wichtigsten Fragen rund um Model Inference, die Platform Component und den anbieterunabhängigen Einsatz von KI Modellen im Symfony und Sulu CMS Stack im Überblick.

Was ist neu bei Model Inference in Symfony AI 2026 mit Version 0.14?

Version 0.14.0 vom 25. September 2026 bringt neue Platform Bridges wie Eden AI, Venice, Together, Fireworks AI und Bedrock Mantle, Realtime Sessions für Voice Agents bei OpenAI, asynchrone Jobs mit Batch Requests und eine TokenUsage, die das Modell kennt. Kosten pro Modell lassen sich damit direkt in der Anwendung auswerten.

Was ist Model Inference in Symfony AI 2026?

Model Inference ist das Senden von Prompts an ein KI Modell und das Empfangen der Antwort über einen einzigen invoke Aufruf der Platform Component. Du baust eine MessageBag, übergibst sie der Platform und liest das Result aus. Die Platform abstrahiert die Unterschiede der Anbieter, sodass dein Anwendungscode unabhängig vom konkreten Modell bleibt.

Welche Anbieter unterstützt Model Inference 2026?

Die Liste ist umfangreich: OpenAI, Anthropic, Google Gemini, Azure OpenAI, AWS Bedrock, Mistral und Ollama für lokale Modelle. Seit Version 0.14 kommen Eden AI, Venice, Higgsfield, Together, Fireworks AI und Bedrock Mantle dazu, außerdem Sprachdienste wie ElevenLabs und jeder OpenAI kompatible Endpoint über die Generic Bridge.

Kann ich den Anbieter 2026 ohne Code Änderung wechseln?

Ja. Um von OpenAI zu Anthropic zu wechseln, tauschst du nur die Factory und den Modellnamen. MessageBag, der invoke Aufruf und das Result bleiben identisch. Mit einem Multi Provider Setup und passendem Modellkatalog routet die Platform Anfragen sogar automatisch zum richtigen Anbieter, ohne dass du Modelle manuell zuordnest.

Funktioniert Model Inference 2026 auch lokal mit Ollama?

Ja. Über die Ollama Bridge sprichst du lokale Modelle auf eigener Hardware mit demselben invoke Aufruf an. Die PlatformFactory wird mit der lokalen Ollama Adresse erstellt, etwa 127.0.0.1 Port 11434. Für DSGVO sensible Projekte ist das ideal, weil keine Prompts den eigenen Server verlassen und kein API Key nötig ist.

Brauche ich für Model Inference das AI Bundle?

Nein. Die Platform Component funktioniert auch standalone ohne das volle Framework. In einer Symfony Anwendung lohnt sich das AI Bundle trotzdem, weil es Platform, Agent und Store über Dependency Injection, Konfiguration und einen Profiler Panel integriert. Für ein reines Skript reicht die Komponente allein.

Was sind MessageBag, Platform und Result?

Das sind die drei Bausteine von Model Inference. Die MessageBag bündelt Message Objekte wie System und User Nachricht. Die Platform ist die Abstraktion über die Anbieter und nimmt den invoke Aufruf entgegen. Das Result kapselt die Antwort und liefert sie über Methoden wie asText, asObject, asFile, asStream oder asVector aus.

Was ist der Unterschied zwischen Platform und Agent?

Die Platform ist die unterste Ebene für einen direkten Modellaufruf über invoke. Der Agent baut darauf auf und ergänzt Tools, Prozessoren und die Schleife aus Tool Aufruf, Ergebnis lesen und nächstem Schritt. Für eine einfache Anfrage nutzt du die Platform, für tool fähige und mehrstufige Aufgaben den Agent.

Wie funktioniert Streaming bei Model Inference?

Für Streaming übergibst du dem invoke Aufruf die Option stream und liest das Ergebnis über asStream aus. Damit erhältst du die Antwort Token für Token und kannst sie sofort ausgeben, statt auf die vollständige Antwort zu warten. Das ergibt das typische Chat Gefühl und funktioniert mit jedem unterstützten Modell.

Wie behalte ich die Kosten pro Modell im Blick?

Seit Version 0.14 trägt TokenUsage das Modell mit, sodass sich der Verbrauch direkt einem Modell zuordnen lässt. Die Events zum Ergebnis enthalten zusätzlich die Identität des Anbieters. Für harte Budgets und Limits pro Team empfehlen wir trotzdem einen Proxy wie LiteLLM vor der Platform.

Wie bleiben die Modellnamen aktuell?

Symfony AI nutzt die models.dev Bridge. Ein Datenpaket liefert einen täglich aktualisierten Schnappschuss der Modellregistrierung als JSON Datei, die Bridge macht daraus einen lebenden Modellkatalog. Neue Modelle kommen so per composer update dazu, ohne Laufzeit API Calls und ohne dass du Modelllisten von Hand pflegen musst.

Kann ich Modellantworten cachen?

Ja. Dank der Symfony Cache Component lässt sich eine Platform mit einer CachedPlatform dekorieren, die einen beliebigen Cache Adapter nutzt. Wiederkehrende Anfragen werden dann aus dem Cache bedient, was Aufrufe und Kosten reduziert. Das ist besonders bei deterministischen oder häufig identischen Prompts sinnvoll.

Wie teste ich Model Inference ohne echte API Calls?

Für Integrationstests nutzt du den Symfony KernelTestCase und mockst die Modellantworten über den HttpClient MockResponse. So laufen die Tests schnell, deterministisch und ohne echte Anbieter Calls. Ergebnisse prüfst du anschließend mit PHPUnit. Auch lokale Modelle über Ollama eignen sich für günstige Testläufe ohne externe Kosten.

Wie hilft NCA bei Model Inference?

Never Code Alone baut KI Features anbieterunabhängig in bestehende Symfony und Sulu CMS Projekte. Wir setzen die Platform Component sauber auf, sichern sie mit PHPStan, Psalm und PHPUnit ab und betten sie in eine CI/CD Pipeline ein. Auf Wunsch DSGVO konform mit lokalen Modellen über Ollama. Die Abrechnung erfolgt transparent und minutengenau.