Echtzeit Sprach-AI-Assistent mit Funktionsaufrufen & Bidirektionalem Audio-Streaming
Eine Fitness- und Ernährungsplattform benötigte einen sprachgesteuerten AI-Assistenten, der Benutzern in Echtzeit mit natürlicher Konversation antworten, domänenspezifische Berechnungen (Mahlzeitenanpassungen, Kalorien-Tracking) ausführen und Antworten zurücksprechen konnte — alles mit einer Latenzzeit von unter einer Sekunde für ein wirklich konversationelles Erlebnis.
Ihr Projekt besprechen
Die Herausforderung
Der Aufbau eines produktionsreifen Sprach-AI-Assistenten stellte einzigartige Echtzeit-Engineering-Herausforderungen dar:
- Latenz — Herkömmliche Speech-to-Text → LLM → Text-to-Speech-Pipelines fügten 3-5 Sekunden Verzögerung hinzu, was den Gesprächsfluss unterbrach
- Funktionsaufrufe — Der Assistent musste domänenspezifische Logik (Ernährungsberechnungen, Mahlzeitenplananpassungen) mitten im Gespräch ausführen, nicht nur chatten
- Audio-Streaming — Bidirektionales Audio musste kontinuierlich fließen, ohne Pufferlücken oder Echoprobleme
- Kontextbewusstsein — Der Assistent musste den Gesprächskontext über mehrere Runden hinweg aufrechterhalten und gleichzeitig Unterbrechungen behandeln
- Mehrsprachigkeit — Benutzer sprachen in verschiedenen Sprachen und erwarteten Antworten in derselben Sprache
- Sitzungsisolation — Jede Sprach-Sitzung benötigte eine unabhängige Zustandsverwaltung ohne Übersprechen
Unsere Lösung
Wir haben einen Echtzeit Sprach-AI-Assistenten entwickelt, der auf der Google Gemini Live API mit nativen Audiofunktionen, benutzerdefinierten Funktionsaufrufen für domänenspezifische Berechnungen und einem React-Frontend mit WebSocket-basiertem Audio-Streaming basiert.
Architektur
- AI-Modell: Gemini mit nativem Audio-Input/Output und Function Calling
- Backend: Python/FastAPI mit WebSocket-Endpunkt für bidirektionales Audio
- Audio-Pipeline: PyAudio für Mikrofon-/Lautsprecher-I/O mit Echtzeit-Streaming
- Frontend: React mit Vite und Tailwind CSS für die Benutzeroberfläche zur Sitzungssteuerung
- Kommunikation: WebSocket für JSON-Nachrichten mit geringer Latenz und binären Audio-Transport
- Multimodal: Optionale Kamera- und Bildschirmaufnahme für visuellen Kontext
Echtzeit-Audio-Pipeline
Bidirektionales Streaming
Das System unterhält kontinuierliche Audio-Streams in beide Richtungen:
- Eingabe: Mikrofon-Audio, erfasst mit 16kHz Mono, in kleine Frames zerlegt und in Echtzeit an das AI-Modell gestreamt
- Ausgabe: AI-generierte Sprache, empfangen mit 24kHz und sofort über Lautsprecher wiedergegeben
- Kein Batching: Audio-Chunks werden so gesendet, wie sie erfasst werden — keine Akkumulationsverzögerungen
- Unterbrechungsbehandlung: Der Benutzer kann den Assistenten mitten in der Antwort auf natürliche Weise unterbrechen
Audioverarbeitung
- 16-Bit PCM-Format für Eingabe und Ausgabe
- Separate Abtastraten, optimiert für Sprache (16kHz Erfassung, 24kHz Wiedergabe)
- Kleine Puffergrößen für minimale Latenz
- Kontinuierliches Streaming ohne Start-/Stopp-Lücken zwischen den Gesprächsrunden
Integration von Funktionsaufrufen
Funktionsweise
Das AI-Modell kann lokale Python-Funktionen mitten im Gespräch aufrufen, wenn domänenspezifische Berechnungen erforderlich sind:
- Der Benutzer spricht eine Anfrage (z.B. „Ich habe heute das Mittagessen verpasst“)
- Das AI-Modell transkribiert und versteht die Absicht
- Das Modell stellt fest, dass ein Funktionsaufruf erforderlich ist, und sendet eine strukturierte Anfrage
- Das Backend extrahiert Funktionsnamen, Argumente und Call ID
- Die lokale Funktion führt die Domänenberechnung aus
- Das Ergebnis wird als strukturierte Antwort an das Modell zurückgesendet
- Das Modell generiert eine natürlichsprachliche Sprachantwort, die das Ergebnis einbezieht
Domänenfunktionen
Das System unterstützt ernährungsbezogene Funktionsaufrufe für Szenarien wie:
- Verpasste Mahlzeiten — Verteilt verpasste Makronährstoffe auf die verbleibenden Mahlzeiten
- Ungeplantes Essen — Passt anstehende Mahlzeiten an, um eine unerwartete Aufnahme zu kompensieren
- Mahlzeitenersatz — Tauscht Zutaten aus, während Makroziele beibehalten werden
- Aktivitäts-Tracking — Schätzt den Kalorienverbrauch und passt den Ernährungs-Puffer an
Jede Funktion verwendet eine Makro-Datenbank mit ernährungsphysiologischen Profilen pro Lebensmittel und führt dynamische Berechnungen mit leichter stochastischer Variation für natürlich klingende Antworten durch.
Ausführungssicherheit
- Mikrofon-Eingabe wird während der Funktionsausführung pausiert, um Überschneidungen zu vermeiden
- Anstehende Audio-Frames werden verworfen, um veralteten Kontext zu vermeiden
- Fehlerantworten werden elegant zurückgesendet, wenn die Funktionsausführung fehlschlägt
- Normales Streaming wird sofort nach Abschluss der Funktion fortgesetzt
Backend-Architektur
FastAPI WebSocket-Server
- Einzelner WebSocket-Endpunkt für die gesamte Client-Kommunikation
- Sitzungslebenszyklus-Management (Start, Stopp, Ping/Pong-Health-Checks)
- Eine aktive Sitzung gleichzeitig mit Sitzungssperre
- CORS-Middleware für Entwicklungsumgebungen
- Health Check-Endpunkt zur Überwachung
Sitzungsmanagement
- Sitzungen werden bei Client-Verbindung mit Modusauswahl (nur Audio, Kamera oder Bildschirm) erstellt
- Asynchrone Hintergrundaufgaben verarbeiten Audioerfassung, -verarbeitung und -wiedergabe gleichzeitig
- Elegante Trennung mit Ressourcenbereinigung
- API-Schlüsselvalidierung und Fehlerfortpflanzung
Multimodale Eingabe (Optional)
Neben der Stimme unterstützt das System optionalen visuellen Kontext:
- Kamera-Modus — Streamt Webcam-Frames (1fps) für visuellen Kontext in Gesprächen
- Bildschirm-Modus — Erfasst Bildschirminhalte zur Diskussion von Informationen auf dem Bildschirm
- Bilder werden vor der Übertragung in der Größe angepasst und komprimiert
- Visueller Kontext verbessert die Fähigkeit der AI, relevante Antworten zu liefern
Frontend-Benutzeroberfläche
- Sitzungssteuerung — Start/Stopp des Hörens mit deutlichen Statusanzeigen
- Statusanzeige — Echtzeit-Verbindungs- und Sitzungsstatus (Leerlauf, Verbindung wird hergestellt, aktiv, Fehler)
- Theme-Unterstützung — Hell-/Dunkelmodus mit Persistenz
- Geführte Tour — Schritt-für-Schritt-Demo für Erstbenutzer
- WebSocket-Management — Automatische Wiederverbindungslogik
AI-Modellkonfiguration
- Native Audio-Modalität (keine separate STT/TTS-Pipeline)
- Konfigurierbare Stimmauswahl aus mehreren voreingestellten Stimmen
- Systemanweisungen zur Definition der Assistentenpersönlichkeit, des Antwortstils und der Sprachverarbeitung
- Tool-Definitionen für alle verfügbaren Funktionen mit Parameterschemata
- Automatische Spracherkennung mit Antwort in derselben Sprache
Hauptmerkmale
- Latenz unter einer Sekunde — Natives Audio-Modell eliminiert den Overhead von STT/TTS-Pipelines
- Echtzeit Bidirektionales Audio — Kontinuierliches Streaming mit < 50ms Latenz pro Chunk
- Funktionsaufrufe — Domänenspezifische Berechnungen werden mitten im Gespräch ausgeführt
- Natürliche Unterbrechung — Benutzer können den Assistenten auf natürliche Weise ohne spezielle Befehle unterbrechen
- Mehrsprachigkeit — Automatische Spracherkennung mit Antworten in derselben Sprache
- Multimodale Eingabe — Optionaler Kamera- und Bildschirmkontext für visuelles Verständnis
- Sitzungsmanagement — Sitzungslebenszyklus-Steuerung mit Sperrung und Ressourcenbereinigung
- Makro-Berechnungen — Dynamische Ernährungsanpassungen mit Makroprofilen pro Lebensmittel
- Fehlerbehebung — Elegante Behandlung von Funktionsfehlern und Netzwerkunterbrechungen
- Erweiterbar — Neue Funktionen werden durch Definition von Schema und Handler hinzugefügt — keine Architekturänderungen
Ergebnisse
Technologie-Stack
caseStudyDetail.more Fallstudien
Entdecken Sie mehr unserer technischen Implementierungen
Kickly: AI-Powered Projektplattform für Startups
Kickly ist eine AI-gestützte Projektmanagement-Plattform, die für Startups entwickelt wurde – sie kombiniert intelligente Aufgabenautomatisierung, Teamkollaboration und Echtzeit-Fortschrittsverfolgung in einem Produkt.
Kickly: KI-gestützte Projektplattform für Startups
Kickly ist eine KI-gestützte Projektmanagementplattform, die für Startups entwickelt wurde – und intelligente Aufgabenautomatisierung, Teamkollaboration und Echtzeit-Fortschrittsverfolgung in einem Produkt vereint.
Bereit, Ihr Unternehmen zu transformieren?
Lassen Sie uns besprechen, wie wir ähnliche Lösungen für Ihre Herausforderungen anwenden können.