Was macht ai-workflow-bundle?
Workflow-Primitiven für asynchrone KI-Vorbereitung, Beobachtung, Analyse und Veröffentlichung
Übersicht
Das survos/ai-workflow-bundle stellt grundlegende Bausteine zur Verfügung, um asynchrone KI-Workflows in Symfony-basierten Projekten zu implementieren. Es gliedert den typischen Lebenszyklus einer KI-Operation in vier Phasen:
- Vorbereitung: Sammeln und Aufbereiten von Daten, initialisieren von KI-Modellen.
- Beobachtung: Überwachen von Zuständen, Events oder eingehenden Nachrichten.
- Analyse: Ausführen von KI-Algorithmen (z.B. Klassifikation, Generierung).
- Veröffentlichung: Bereitstellen der Ergebnisse (z.B. als API-Response, Log, oder Event).
Warum dieses Bundle?
- Asynchrone Ausführung ohne Blockierung des Hauptthreads.
- Einfache Integration mit Symfony Messenger für Message Queues.
- Flexible Erweiterbarkeit durch eigene Workflow-Komponenten.
- Geeignet für Single-Agent- und Multi-Agent-Systeme.
Plattformen
- Symfony 5.4+
- PHP 8.1+
- Kompatibel mit Message-Brokern wie RabbitMQ, Redis oder Doctrine.
Funktionsweise
- Definiere einen Workflow als Symfony Service.
- Verwende die bereitgestellten Interfaces (
PreparationInterface,ObservationInterface,AnalysisInterface,PublishingInterface). - Sende Nachrichten über Messenger an die entsprechende Workflow-Phase.
- Das Bundle verarbeitet die Nachrichten asynchron und führt die definierten Aktionen aus.
Beispielkonfiguration für einen einfachen Analyse-Workflow:
# config/packages/ai_workflow.yaml
ai_workflow:
workflows:
my_analysis:
preparation: App\Workflow\MyPreparationHandler
observation: App\Workflow\MyObservationHandler
analysis: App\Workflow\MyAnalysisHandler
publishing: App\Workflow\MyPublishingHandler
Mehr Details findest du in der offiziellen Dokumentation.