Der Go-KI-Software-Stack soll die einfache Entwicklung von KI-Anwendungen ermöglichen.
Der Schwerpunkt liegt hierbei insbesondere auf der einfachen Konfiguration und Vernetzung verschiedener Anwendungen sowie auf deren Interoperabilität und Wiederverwendbarkeit für zukünftige Projekte. Auf diese Weise soll der go-KI-Software-Stack dabei helfen, schnell von der Idee zur Lösung zu kommen.
Im Kern basiert der go-KI-Software-Stack auf einer offenen API für gemeinwohlorientierte KI-Anwendungen.
Hierbei werden moderne Technologien und Standards zu einem neuen Software-Framework verbunden. Komplementiert wird dieses durch verschiedene Werkzeuge für Modellierung, Entwicklung, Deployment und Monitoring der Anwendungen, sowie durch Verzeichnisdienste für wiederverwendbare Komponenten, Daten, Modelle und Dienste.
Durch die Kombination von Technologien, wie RESTful Microservices, Container-Technologien und Multiagenten-Systemen …
ist die API (Application Programming Interface, Programmierschnittstelle) zugleich leichtgewichtig und sprachunabhängig und doch funktional. Die Referenzimplementierung der Plattform verfügt über eingebaute Funktionen für Sicherheit, Nachvollziehbarkeit und Erklärbarkeit, die in allen dafür entwickelten Anwendungen genutzt werden können. Die API erlaubt die Ausführung und Vernetzung von Anwendungen in der Cloud und On-Premise.
Das Ziel von OPACA (Open, Language- and Platform-Independent API for Containerized Agents) ist es, Multi-Agenten-Systeme mit Microservices und Container-Technologien zu kombinieren, indem eine einfache, universelle API verwendet wird, die auf einer Reihe von Designprinzipien und Anforderungen aufbaut: Offene, standardisierte Schnittstellen, Sprachunabhängigkeit, Modularität und Wiederverwendbarkeit, Selbstbeschreibung, dynamische Multi-Mandantenschaft und Verteilung.
Ein Multiagentensystem im OPACA Ansatz besteht aus zwei Arten von Komponenten: Containerisierte Anwendungen, die die OPACA API implementieren, können verschiedene Funktionalitäten (Aktionen) bereitstellen oder mit anderen Komponenten über Nachrichten interagieren, sowie alle Arten von zusätzlichen Schnittstellen sowohl für Benutzer als auch für externe Systeme bereitstellen. Diese Anwendungen werden dann von der OPACA-Plattform verwaltet, die Funktionen für den Einsatz in einer bestimmten Umgebung sowie Infrastrukturdienste für z. B. Authentifizierung, Verzeichnisdienste, Benutzerverwaltung, Ereignisprotokollierung usw. bereitstellt.
Auf diese Weise erleichtert OPACA den Einsatz und die Verbindung heterogener Systeme, die aus Komponenten bestehen, die mit verschiedenen Agenten-Frameworks und/oder Nicht-Agenten-Komponenten in verschiedenen Sprachen implementiert wurden.
OPACA Anwendungen können in jeder beliebigen Programmiersprache geschrieben werden, solange sie die API implementieren, so dass Sie weiterhin Ihre bevorzugten Sprachen und Werkzeuge für die Entwicklung verwenden können. Sobald die Anwendung erstellt ist, bietet OPACA eine Reihe von Werkzeugen, die bei der Bereitstellung und Verwaltung von OPACA-Anwendungen helfen.
Zunächst hilft ein benutzerdefiniertes Befehlszeilenschnittstellenwerkzeug (CLI) dem Entwickler beim Testen seiner Anwendung auf einer OPACA Plattform, indem es einfache Befehle für Entwicklung, die Deployment und Interaktion mit der Anwendung bereitstellt. Wenn die Anwendung fertig ist, kann sie in der OPACA Image Registry registriert werden, die einerseits umfangreiche Informationen über die verschiedenen Anwendungen sowie Such- und Filterfunktionen bietet und andererseits mit einer bestimmten OPACA Plattform verbunden werden kann, um eine ausgewählte Anwendung mit einem einzigen Klick auf dieser Plattform bereitzustellen. Schließlich macht eine generische Web-UI die Interaktion mit den verschiedenen Agenten, die in einer OPACA-Anwendung laufen, sehr einfach, indem sie automatisch benutzerfreundliche Eingabemasken für den Aufruf ihrer verschiedenen Aktionen und Fähigkeiten generiert.
Neben diesen Werkzeugen entwickeln wir mehrere fortgeschrittene Werkzeuge für die Modellierung neuer OPACA-Anwendungen sowie für die intuitive Interaktion mit laufenden Anwendungen: Ein BPMN-Editor integriert sich mit der OPACA-Registry und den laufenden OPACA-Plattformen, um bestehende OPACA-Anwendungen mit neuen Anwendungen zu orchestrieren und auszuführen. Darüber hinaus untersuchen wir derzeit verschiedene Möglichkeiten zur Integration von Large Language Models (LLM) in OPACA, die eine auf natürlicher Sprache basierende Auswahl und Orchestrierung von OPACA Diensten sowie die direkte sprach- oder chatbasierte Interaktion mit jeder Anwendung, die die OPACA API implementiert, ermöglichen.