Allgemeine Einführung
Bailing ist ein Open-Source-Sprachdialog-Assistent, der durch Sprache einen natürlichen Dialog mit dem Benutzer führen soll. Das Projekt kombiniert Spracherkennung (ASR), Voice Activity Detection (VAD), Large Language Model (LLM) und Sprachsynthese (TTS), um einen GPT-4o-ähnlichen Sprachdialogroboter zu implementieren. Mit einer Ende-zu-Ende-Latenz von nur 800 ms eignet sich BaiLing für eine Vielzahl von Endgeräten und ressourcenarmen Umgebungen. Dank seines effizienten Open-Source-Modells und seines modularen Aufbaus kann er auch ohne GPU betrieben werden und bietet ein qualitativ hochwertiges Sprachdialogerlebnis. Mit Funktionen wie Speicherfunktion, Toolaufruf und Aufgabenverwaltung kann sich Biolabs an Benutzerpräferenzen und historische Gespräche erinnern, um ein personalisiertes interaktives Erlebnis zu bieten.
Funktionsliste
- Spracheingabe: präzise Spracherkennung durch FunASR.
- Erkennung von Sprachaktivität: Filterung ungültiger Audiodaten mit Silero-Vad zur Verbesserung der Erkennungseffizienz.
- Intelligente Dialoggenerierung: auf der Grundlage von Deepseek Das leistungsstarke Sprachverständnis erzeugt natürliche Textantworten.
- Sprachausgabe: Wandelt Text über edge-tts in Sprache um und bietet dem Benutzer ein realistisches auditives Feedback.
- Unterstützung von Unterbrechungen: Die flexible Konfiguration von Unterbrechungsrichtlinien mit der Möglichkeit, Schlüsselwörter und Sprachunterbrechungen zu identifizieren, gewährleistet ein unmittelbares Benutzerfeedback und die Kontrolle im Dialog.
- Gedächtnisunterstützung: kontinuierliche Lernfähigkeit, um sich an Benutzerpräferenzen und Gesprächsverläufe zu erinnern und ein personalisiertes interaktives Erlebnis zu bieten.
- Unterstützung für Tool-Aufrufe: Durch die flexible Integration externer Tools können Benutzer Informationen anfordern oder Aktionen direkt per Sprache durchführen.
- Unterstützung für die Aufgabenverwaltung: Effiziente Verwaltung von Benutzeraufgaben mit der Möglichkeit, den Fortschritt zu verfolgen, Erinnerungen zu setzen und dynamische Aktualisierungen bereitzustellen.
Hilfe verwenden
Installation und Betrieb
Abhängige Umgebung
Stellen Sie sicher, dass Sie die folgenden Tools und Bibliotheken in Ihrer Entwicklungsumgebung installiert haben:
- Python 3.8 oder höher
- Pip-Paketmanager
- Erforderliche Abhängigkeiten für FunASR, silero-vad, deepseek, edge-tts
Installationsschritte
- Klonen des Projektlagers:
git clone https://github.com/wwbin2017/bailing.git
cd bailing
- Installieren Sie die erforderlichen Abhängigkeiten:
pip install -r anforderungen.txt
- Umgebungsvariablen konfigurieren: Öffnen
config/config.yaml
Konfigurieren Sie ASR, LLM und andere zugehörige Konfigurationen. SenseVoiceSmall zum Katalog herunterladenmodels/SenseVoiceSmall
Der API-Schlüssel von deepseek ist ein Schlüssel, der zur Konfiguration des Modells verwendet werden kann. Holen Sie sich den API-Schlüssel von deepseek und konfigurieren Sie es, natürlich können Sie auch andere Modelle wie openai, qwen, gemini, 01yi, und so weiter konfigurieren. - Führen Sie das Projekt aus:
cd server
python server.py # Startet den Backend-Dienst, oder Sie können diesen Schritt auch weglassen
python main.py
Anweisungen für den Gebrauch
Nach dem Start der App wartet das System auf die Spracheingabe. Hier ist die detaillierte Vorgehensweise:
- Konvertieren Sie mit FunASR Benutzersprache in Text.
- Verwenden Sie silero-vad für die Sprachaktivitätserkennung, um sicherzustellen, dass nur gültige Sprache verarbeitet wird.
- deepseek verarbeitet Texteingaben und erzeugt intelligente Antworten.
- edge-tts, ChatTTS, macOS say wandelt den generierten Text in Sprache um und gibt ihn dem Benutzer wieder.
Funktion Betriebsablauf
- SpracheingabeDer Benutzer gibt seine Stimme über das Mikrofon ein und das System führt automatisch eine Spracherkennung durch.
- Erkennung von SprachaktivitätDas System filtert automatisch ungültige Audiodaten heraus, um eine effiziente Erkennung zu gewährleisten.
- Intelligente DialogerstellungDas System erzeugt natürliche Textantworten auf der Grundlage von Benutzereingaben.
- SprachausgabeDas System wandelt Textantworten in Sprache um und gibt sie dem Benutzer wieder.
- Unterstützung bei UnterbrechungenDer Benutzer kann den laufenden Dialog per Sprache unterbrechen und das System antwortet sofort.
- SpeicherfunktionDas System merkt sich die Vorlieben des Benutzers und seine Gesprächsverläufe, um ein personalisiertes interaktives Erlebnis zu bieten.
- Werkzeug AufrufBenutzer können per Sprache Informationen anfordern oder Aktionen durchführen, und das System integriert flexibel externe Tools.
- AufgabenverwaltungBenutzer können Aufgabenerinnerungen einrichten, und das System wird den Aufgabenfortschritt effizient verwalten und dynamische Aktualisierungen bereitstellen.
Probebetrieb
- Wetterinformationen abrufenDer Benutzer fragt: "Wie ist das Wetter in Hangzhou?" Das System gibt die Wetterbedingungen in Hangzhou zurück.
- Zeitgesteuerte Aufgaben erstellenBenutzer sagt: "Erinnere mich daran, jeden Morgen um 8 Uhr Wasser zu trinken". Das System stellt eine zeitliche Erinnerung ein.
Mit der oben genannten detaillierten Nutzungshilfe können Benutzer leicht mit BaiLing beginnen und eine effiziente Sprachdialogerfahrung genießen.