Externe Integrationen: Möglichkeit zur Erstellung von Integrationen des Typs „TTS-Anbieter“

Externe TTS-Integrationen wie „Gradium TTS“, „Whisper“ usw. erstellen können.

Der PR auf der Seite von Gladys:

Der PR auf der Seite des SDKs:

Hallo, zu diesem Thema fragte ich mich, wie du die Sache mit lokalen Modellen (sei es Sprache oder Text) siehst, wobei die Container der externen Integrationen in CPU/RAM begrenzt sind. Der Benutzer müsste einen TTS-Server auf seinem Gerät starten und dann eine externe Integration starten, die sich damit verbindet? Dann wäre es also keine 1-Klick-Integration mehr.
Oder kann man für diese Integrationen eine Ausnahme von der Isolierung machen?

Vielen Dank für die Frage, sie ist berechtigt, und ich denke, man muss zwei Ebenen unterscheiden.

Die von dir genannten Grenzen betreffen nur den Hauptcontainer der Integration, der über WebSocket mit dem Core kommuniziert. Er ist tatsächlich auf 0,5 CPU und 256 MB begrenzt, und das ist beabsichtigt: Eine Integration darf Gladys auf einem Mini-PC nie ausbremsen.

Aber das Framework sieht bereits im Manifest Untercontainer mit eigenen Grenzen vor, die ursprünglich für den Fall Frigate gedacht waren:

  • memory_mb: von 32 bis 4096 MB
  • cpu: von 0,1 bis 2 CPU
  • shm_mb: von 64 bis 512 MB
  • devices: Zugriff auf gpu, coral-usb, coral-pcie oder video, wobei jede Klasse einzeln vom Benutzer genehmigt (oder abgelehnt) und jederzeit widerrufen werden kann

Diese Werte werden auf dem Installationsbildschirm angezeigt, und der Benutzer akzeptiert sie bewusst, bevor er installiert.

Konkrekt wäre eine Integration wie „Piper TTS“ oder „Kokoro TTS“ also ein leichter Hauptcontainer (die Schnittstelle zu Gladys) plus ein Untercontainer, der das Modell ausführt, mit 1 oder 2 GB RAM und dem GPU, falls der Benutzer es genehmigt. Installation mit einem Klick, kein Server muss manuell gestartet werden, und keine Isolierungsausnahmen sind zu erwarten: Der Mechanismus existiert bereits.

Für das, was diese Grenzen überschreitet (ein großes Sprachmodell, das 8 GB und 4 Kerne benötigt), ja, hier gilt das Modell „Die Integration ist ein Client zu einem Server, den du selbst hostest“. Das ist genau die Funktionsweise der lokalen KI heute mit Ollama oder einem OpenAI-kompatiblen Endpunkt, und ich finde das konsistent: Jemand, der solche Modelle zu Hause laufen lässt, hat die Hardware und weiß, wie man einen Container startet. Das richtet sich nicht an den durchschnittlichen Benutzer.

Und für die breite Masse bleibt der Weg Gladys Plus: Null Konfiguration, keine Hardware, und die PR behält die automatische Rückfalloption auf Gladys Plus bei, falls kein lokaler Anbieter konfiguriert ist :slight_smile:

Alles klar, danke, ich werde es mit dem Subcontainer für einen vereinfachten Zugriff für den Benutzer versuchen und dann sehen wir weiter. Dann brauchen wir nur noch eine externe Integration, die mit der OpenAI-API kompatibel ist, und fast alle KI-Dienste werden verwaltet — das ist zu cool :rocket: