Hier finden Sie (hoffentlich) alles, was Sie für den Einstieg in SEPIA wissen müssen.
Überblick über das SEPIA-Ökosystem (Hinweis: Einige Teile befinden sich noch in den Entwicklungszweigen).
Informationen zur Bildsymbolzuordnung finden Sie auf der Homepage
Ausführliche Beschreibungen finden Sie im Wiki: SEPIA Framework Wiki
Besuchen Sie Twitter oder Mastodon für die neuesten Nachrichten: SEPIA Twitter Feed | SEPIA Mastodon-Futter
Besuchen Sie den Blog für Zusammenfassungen und Anleitungen: SEPIA Blog
SEPIA ist ein Akronym für: selbstgehosteter, erweiterbarer, persönlicher, intelligenter Assistent . Es handelt sich um ein modulares Open-Source-Framework, das mit allen erforderlichen Tools ausgestattet ist, um Ihren eigenen, vollwertigen digitalen Sprachassistenten zu erstellen, einschließlich Spracherkennung (STT), Wake-Word-Erkennung, Text-to-Speech (TTS) und natürlich -Sprachverständnis, Dialogmanagement, SDK(s), eine plattformübergreifende Client-App und vieles mehr.
Das Framework besteht aus mehreren, hochgradig anpassbaren Mikrodiensten, die nahtlos zusammenarbeiten und den SEPIA Open Assistant bilden. Es folgt dem Client-Server-Prinzip und verwendet einen leichtgewichtigen Java-Server und Elasticsearch DB als „Gehirn“ sowie einen Javascript-basierten Client, der als intelligenter Lautsprecher, intelligentes Display, mobile Assistenten-App oder was auch immer für ein intelligentes Gerät Sie sich vorstellen können? Alle Komponenten funktionieren unter Linux, Windows und Mac und wurden so optimiert, dass sie sogar auf einem Raspberry Pi reibungslos laufen ? ?.
Out-of-the-box SEPIA verfügt derzeit über Smart-Services für: Nachrichten, Musik (Radio), Timer, Alarme, Erinnerungen, Aufgaben- und Einkaufslisten, Smart Home (z. B. mit Open-Source-Tools wie openHAB), Navigation, Orte, Wetter, Wikipedia, Websuche, Fußball-Ergebnisse (Bundesliga), ein bisschen Smalltalk und mehr . Um Ihre eigenen Ideen zu verwirklichen, können Sie Tools wie das SEPIA SDK und den im SEPIA Control HUB integrierten Code-Editor verwenden, um Dienste zu erstellen oder benutzerdefinierte HTML-Widgets zu schreiben ????!
Das SEPIA Framework besteht aus 2 Kernteilen: Dem SEPIA Client und dem Assist-Server.
SEPIA-Client: Die Benutzeroberfläche, die Sprach-, Text- oder Berührungsinteraktionen verarbeitet und den „Dialog“ mit dem SEPIA-Server verwaltet. Serverantworten können als Text (Chat), grafische Elemente (Karten, Schaltflächen) und/oder Ton einschließlich Sprachsynthese (Text-to-Speech) und Musik (Mediaplayer) dargestellt werden. Der Client kümmert sich normalerweise um die Spracherkennung (auf dem Gerät oder über den SEPIA STT-Server), um Sprache in Text umzuwandeln, und kann sogar Weckwörter wie Hey SEPIA anhören (dank Porcupine von Picovoice). Es gibt Clients für den Browser, Android, iOS und eine DIY-Version, die sogar „headless“ beispielsweise auf einem Raspberry Pi funktioniert.
Assist-Server: Das „Gehirn“ von SEPIA, das Anfragen vom Client über die HTTP-REST-API empfängt und sich um das Verständnis der natürlichen Sprache (Intent und NER), den Konversationsfluss und die Smart-Service-Integration (wie eine To-Do-Aufgabe) kümmert Listen- oder Nachrichtendienst), Benutzerkonten, Text-to-Speech (TTS) und mehr. Der Assist-Server kann auf eigener Hardware beispielsweise auf SBCs wie einem Raspberry Pi 3 oder parallel zum Client auf leistungsfähigeren Systemen (RPi4, Desktop-PC etc.) laufen.
Da Spracherkennung aus mehreren Gründen (Datenschutz, Genauigkeit, Leistung, Kontrolle usw.) ein sehr heikles Thema ist, enthält das SEPIA Framework eine weitere wichtige Komponente: den Speech-To-Text (STT)-Server.
SEPIA STT Server: Ein Open-Source-Server für Echtzeit-Spracherkennung , der auf den meisten Systemen (x86, ARM), einschließlich Raspberry Pi , läuft und benutzerdefinierte, dynamische ASR-Modelle unterstützt (dank großartiger Tools wie Kaldi, Vosk oder Zamia Speech). .
Weitere bemerkenswerte Komponenten des SEPIA Frameworks sind der Control HUB zur Verwaltung von Servern, „Headless“-Clients, Smart Home und mehr, der WebSocket-Server für Mehrkanal-Chats und Duplex-Datenübertragung, der Teach-Server zum Speichern benutzerdefinierter Befehle und ein Java SDK um leistungsstarke maßgeschneiderte Dienste zu erstellen.
Derzeit funktioniert SEPIA in Deutsch und Englisch mit grundlegender Unterstützung für die Erstellung benutzerdefinierter Befehle in anderen gängigen Sprachen. Einige Dienste wie Nachrichten und Fußballergebnisse sind für Deutsch optimiert, d. h. Sie erhalten eine Antwort auf Englisch, sehen aber möglicherweise dennoch eine Mischung aus englischen und deutschen Nachrichtenquellen oder Fußballergebnissen der Bundesliga. Die Smart-Services werden jedoch ständig verbessert und Sie können die Liste der Filialen ganz einfach selbst bearbeiten.
Um SEPIA, Ihren persönlichen, digitalen Open-Source-Sprachassistenten, nutzen zu können, benötigen Sie zwei Dinge:
Um eine Verbindung zu einem benutzerdefinierten Server herzustellen, öffnen Sie einfach die App, ändern Sie den „Hostnamen“ im Anmeldebildschirm und starten Sie die App neu. Ein typischer Hostname könnte die IP des Servers sein, „raspberrypi.local“, „my-server.example.org/sepia“ oder einfach „localhost“ beibehalten (für Testserver auf demselben Computer).
Grundlegende Schritte zur Installation des Servers:
Eine Anleitung und ein (fast) automatisches Installationsskript für Raspberry Pi finden Sie -HIER-
Eine Anleitung zur Installation des SEPIA-Server-Stacks auf Linux, Windows oder Mac finden Sie -HIER-
Wenn Sie Fragen haben, Hilfe benötigen oder einen Fehler melden möchten, klicken Sie bitte hier oder starten Sie hier eine Diskussion.
Einige in SEPIA integrierte Dienste erfordern einen API-Schlüssel, um ordnungsgemäß zu funktionieren (z. B. Navigation/umgekehrte Geokodierung). Wie Sie diese (kostenlos) erhalten, erfahren Sie hier.
Wenn Sie Ihren eigenen Server betreiben und beschließen, ihn der Öffentlichkeit oder Ihren Freunden zugänglich zu machen, stellen Sie bitte sicher, dass er ordnungsgemäß gesichert ist, und informieren Sie die Benutzer über Ihre Datenschutzrichtlinien, da Sie eine Datenbank mit potenziell sensiblen, persönlichen Informationen betreiben.