Brauchst du einen Experten, der dir bei deinem Symfony- oder PHP-Entwicklungsprojekt hilft? Fordere jetzt ein Angebot an


KI-gestützte Funktionen in Symfony entwickeln

· Silas Joisten · 2 Minuten zum Lesen
AI and Symfony

KI verändert die Webentwicklung – und mit php-llm/llm-chain können PHP-Entwickler ganz einfach leistungsstarke LLM-Funktionen in Symfony-Anwendungen integrieren. Dieses Tutorial zeigt dir, wie du mit Chatbots, intelligenten Assistenten und mehr loslegst.

Warum KI in Symfony?

Künstliche Intelligenz ist längst keine Zukunftsvision mehr – sie gehört heute ganz selbstverständlich zum modernen Tech-Stack. Von Chatbots über Content-Enrichment bis hin zu semantischer Suche: KI-basierte Features sind überall. Dank der Bibliothek php-llm/llm-chain war es noch nie so einfach, diese Möglichkeiten in dein Symfony-Projekt zu integrieren.

Einführung

php-llm/llm-chain ist eine native PHP-Bibliothek, mit der du mit sogenannten Large Language Models (LLMs) interagieren kannst, darunter:

Die Bibliothek unterstützt eine Vielzahl von Plattformen (OpenAI, Azure, Replicate usw.) und ermöglicht dir:

  • Inhalte zu generieren

  • Externe Tools (PHP-Funktionen) durch das LLM aufrufen zu lassen

  • Dokumente zu embedden und semantisch zu durchsuchen

  • Mehrstufige LLM-Ketten mit Logik zu bauen

Die Integration in Symfony erfolgt über das offizielle Bundle php-llm/llm-chain-bundle, das automatische Serviceregistrierung, Dependency Injection und eine Konfiguration über YAML ermöglicht.

Installation des Symfony-Bundles

Installiere das Paket mit Composer:

composer require php-llm/llm-chain-bundle

Füge deine API-Zugangsdaten zur .env hinzu:

OPENAI_API_KEY=dein-api-key-hier

Konfiguriere das Bundle in config/packages/llm_chain.yaml:

llm_chain:
  platform:
    openai:
      api_key: '%env(OPENAI_API_KEY)%'

  chain:
    default:
      model:
        name: 'gpt4o-mini'

Verwendung von KI in deinem Symfony-Service

Ein einfaches Beispiel für einen Service, der eine Anfrage an ein LLM schickt und eine Antwort erhält:

use PhpLlm\LlmChain\ChainInterface;
use PhpLlm\LlmChain\Model\Message\Message;
use PhpLlm\LlmChain\Model\Message\MessageBag;
use PhpLlm\LlmChain\Model\Response\ResponseInterface;

final class SmartAssistant
{
    public function __construct(
        private ChainInterface $chain
    ) {
    }

    public function ask(string $question): ResponseInterface
    {
        $messages = new MessageBag(
            Message::forSystem('You are a helpful assistant.'),
            Message::ofUser($question),
        );

        return $this->chain->call($messages);
    }
}

Du kannst diesen Service anschließend in einem Controller, einem Konsolenbefehl oder einem Worker verwenden.

Tool Calling: LLMs mit Funktionen interagieren lassen

Möchtest du, dass dein LLM echte PHP-Funktionen aufruft? Verwende das #[AsTool] Attribut:

use PhpLlm\LlmChain\Toolbox\Attribute\AsTool;

#[AsTool('current_time', 'Returns the current server time')]
final class ClockTool
{
    public function __invoke(): string
    {
        return (new \DateTimeImmutable())->format('Y-m-d H:i:s');
    }
}

Das LLM kann nun eigenständig entscheiden, wann es diese Funktion aufruft – ganz wie bei ChatGPT Plugins… nur eben in PHP.

Embeddings & Suche

llm-chain unterstützt auch Embeddings für semantische Suche. Du kannst Vektoren in folgenden Anbietern speichern:

Das ist ideal für Retrieval-Augmented Generation (RAG) – eine Technik, bei der relevante Dokumente zuerst gesucht und dann zur Beantwortung von Nutzerfragen genutzt werden.

Testen: Symfony-Demo-Projekt

Du willst das Ganze direkt ausprobieren? Das php-llm/llm-chain Team stellt eine Symfony-Demo bereit mit Chatbot und Vektorsuche:

php-llm/llm-chain-symfony-demo

Kosten und Tokens im Griff behalten

LLMs sind nicht kostenlos – deshalb solltest du auf Effizienz achten:

  • Wiederholte Antworten cachen

  • Kurze Prompts verwenden

  • Tokenverbrauch mit Logs überwachen

  • Systemnachrichten begrenzen

Fazit

Mit nur wenigen Zeilen Code und Konfiguration kannst du mächtige KI-Features in deine Symfony-Anwendung integrieren. Ob du Aufgaben automatisieren, Inhalte anreichern oder Fragen beantworten willst – llm-chain ist der perfekte Einstieg.

Symfony ist bereit für die KI-Zukunft. Und du?

Bereit für intelligentere Symfony-Anwendungen?

Starte noch heute mit llm-chain – KI-Funktionen sind nur wenige Codezeilen entfernt.

Image