Kaution
Bailing ist ein Open -Source -Voice -Konversationsassistent, das natürliche Gespräche mit Benutzern durch Voice führen soll. Das Projekt kombiniert Spracherkennung (ASR), Sprachaktivitätserkennung (VAD), großes Sprachmodell (LLM) und Sprachsynthese (TTS). Dies ist ein GPT-4O-ähnlicher Voice-Konversationsroboter, der über ASR+LLM+TTS implementiert ist, um ein hochwertiges Sprachgesprächserlebnis mit einer End-to-End-Verzögerung von 800 ms zu bieten. Die Kaution zielt darauf ab, GPT-4O-ähnliche Dialog-Effekte ohne GPU zu erzielen, und eignet sich für verschiedene Kantengeräte und Ressourcenumgebungen.

Projektfunktionen
- Effizientes Open Source -Modell : Bailing verwendet mehrere Open -Source -Modelle, um ein effizientes und zuverlässiger Sprachgesprächserlebnis zu gewährleisten.
- Keine GPU erforderlich : optimiert, lokal einsetzbar und bietet dennoch Leistungsleistung wie GPT-4.
- Modulares Design : ASR-, VAD-, LLM- und TTS -Module sind unabhängig voneinander und können gemäß den Anforderungen ersetzt und verbessert werden.
- Support Memory Function : Es kann kontinuierlich lernen, sich an die Präferenzen und die historischen Dialoge der Benutzer erinnern und eine personalisierte interaktive Erfahrung bietet.
- Support -Tool -Anrufe : Flexible Integration externer Tools können Informationen direkt Informationen anfordern oder Vorgänge über Voice ausführen und die Praktikabilität des Assistenten verbessern.
- Support Task Management : Verwalten Sie Benutzeraufgaben effizient, können Sie den Fortschritt verfolgen, Erinnerungen festlegen und dynamische Updates bereitstellen, um sicherzustellen, dass Benutzer wichtige Angelegenheiten verpassen.
Projekteinführung
Die Kaution realisiert die Sprachdialogfunktion in den folgenden technischen Komponenten:
- ASR : Verwenden Sie Funasr für die automatische Spracherkennung, um die Stimme des Benutzers in Text umzuwandeln.
- VAD : Verwenden Sie Silero-VAD, um die Erkennung der Sprachaktivität durchzuführen, um sicherzustellen, dass nur gültige Sprachsegmente verarbeitet werden.
- LLM : Verwenden Sie Deepseek als großes Sprachmodell, um Benutzereingaben zu verarbeiten und Antworten zu generieren, was äußerst kostengünstig ist.
- TTS : Verwenden Sie Edge-TTS-Chattts MacOS für die Umwandlung von Text zu Sprache und konvertieren die generierte Textantwort in eine natürliche und glatte Sprache.
Rahmenbeschreibung

Robot ist verantwortlich für das effiziente Aufgabenmanagement und für Speicherverwaltung und kann Benutzerinterrupt -Anforderungen intelligent behandeln und gleichzeitig eine nahtlose Koordination und Verbindung zwischen verschiedenen Modulen erreichen, um ein reibungsloses interaktives Erlebnis zu gewährleisten.
| Spielerstatus | Ob man spricht | veranschaulichen |
|---|
| Spielen | Nicht sprechen | Normal |
| Spielen | sagen | Unterbrechen die Szene |
| Nicht gespielt | Nicht sprechen | Normal |
| Nicht gespielt | sagen | VAD -Urteil, ASR -Anerkennung |
Demo
Kaution Audio -Dialog
Kaution Audio -Dialog
Funktionale Merkmale
- Spracheingabe : Genaue Spracherkennung durch Funasr.
- Sprachaktivitätserkennung : Verwenden Sie Silero-VAD, um ungültige Audio zu filtern, um die Erkennungseffizienz zu verbessern.
- Intelligente Dialoggenerierung : Wenn Sie sich auf das von Deepseek bereitgestellte leistungsstarke Sprachverständnis verlassen, generiert es natürliche Textantworten, was äußerst kostengünstig ist.
- Sprachausgabe : Umwandle Text in Voice über Edge-TTs, um den Benutzern realistisches auditorisches Feedback zu geben.
- Support -Interrupts : Flexible Konfiguration von Interrupt -Richtlinien kann verwendet werden, um Schlüsselwort- und Sprach -Interrupts zu identifizieren, sofortiges Feedback und Kontrolle von Benutzern in Gesprächen zu gewährleisten und die Interaktionsflüssigkeit zu verbessern.
- Support Memory Function : Es kann kontinuierlich lernen, sich an die Präferenzen und die historischen Dialoge der Benutzer erinnern und eine personalisierte interaktive Erfahrung bietet.
- Support -Tool -Anrufe : Flexible Integration externer Tools können Informationen direkt Informationen anfordern oder Vorgänge über Voice ausführen und die Praktikabilität des Assistenten verbessern.
- Support Task Management : Verwalten Sie Benutzeraufgaben effizient, können Sie den Fortschritt verfolgen, Erinnerungen festlegen und dynamische Updates bereitstellen, um sicherzustellen, dass Benutzer wichtige Angelegenheiten verpassen.
Projektvorteile
- Hochwertiges Sprachgespräch : Integrieren Sie exzellente ASR-, LLM- und TTS-Technologien, um die Sprachgespräche und Genauigkeit der Sprachgespräche zu gewährleisten.
- Leichtes Design : Läuft ohne Hochleistungs-Hardware, geeignet für ressourcenbezogene Umgebungen.
- Volles Open Source : Kaution ist vollständig Open Source, fördert den Beitrag der Gemeinschaft und die sekundäre Entwicklung.
Installation und Ausführen
Von der Umgebung abhängen
Stellen Sie sicher, dass die folgenden Tools und Bibliotheken in Ihrer Entwicklungsumgebung installiert sind:
- Python 3.8 oder höher
-
pip -Paketmanager - Funasr, Silero-Vad, Deepseek, Edge-TTS-Abhängigkeitsbibliothek erforderlich
Installationsschritte
Klonen des Projektlagers:
git clone https://github.com/wwbin2017/bailing.git
cd bailing
Abhängigkeiten, die für die Installation erforderlich sind:
pip install -r requirements.txt
Umgebungsvariablen konfigurieren:
- Öffnen Sie config/config.yaml, um ASR LLM und andere zugehörige Konfigurationen zu konfigurieren
- Laden Sie SenseVoicesMall auf die Verzeichnismodelle/senseVoicesMall senseVoicesMall herunter. Download -Adresse
- Besuchen Sie die offizielle Website von Deepseek, um die Konfiguration API_KEY, Deepseek zu erhalten, um den api_key zu erhalten. Natürlich können Sie auch andere Modelle wie OpenAI, Qwen, Gemini, 01YI usw. konfigurieren.
Führen Sie das Projekt aus:
cd server
python server.py # 启动后端服务,也可不执行这一步
Anweisungen zur Verwendung
- Nach dem Start der Anwendung wartet das System auf die Spracheingabe.
- Konvertieren Sie die Benutzer Stimme in Text über Funasr.
- Silero-Vad führt die Erkennung der Sprachaktivität durch, um sicherzustellen, dass nur eine gültige Sprache verarbeitet wird.
- Deepseek verarbeitet die Texteingabe und generiert intelligente Antworten.
- Edge-TTS, Chattts, sagt MacOS, sagt, dass der generierte Text in Sprache umwandelt und ihn dem Benutzer abspielt.
Roadmap
In Zukunft wird die Kaution in einen jarvis-ähnlichen persönlichen Assistenten untermauert, wie ein fürsorglicher Think Tank mit beispielloses Speicher und zukunftsgerichteten Funktionen für Aufgaben. Wenn Sie sich auf hochmoderne Lappen- und Agenten-Technologie verlassen, werden Sie Ihre Angelegenheiten und Ihr Wissen genau kontrollieren und den Komplex vereinfachen. Nur ein Flüstern, wie "Hilf mir, die neuesten Nachrichten zu finden" oder "Fassen Sie die neuesten Entwicklungen im großen Modell zusammen", reagiert schnell, analysiert intelligent, verfolgt in Echtzeit und präsentiert die Ergebnisse Ihnen anmutig. Stellen Sie sich vor, Sie haben nicht nur einen Assistenten, sondern auch einen intelligenten Partner, der mit Ihren Bedürfnissen vertraut ist und Sie in jedem wichtigen Moment der Zukunft begleitet und Ihnen hilft, alles zu sehen und tausend Meilen zu gewinnen.
Unterstützte Werkzeuge
| Funktionsname | beschreiben | Funktion | Beispiel |
|---|
get_weather | Holen Sie sich Wetterinformationen für einen Standort | Kehren Sie nach der Angabe des Standortnamens zu den Wetterbedingungen des Standorts zurück | Der Benutzer sagte: "Wie ist das Wetter in Hangzhou?" → zhejiang/hangzhou |
ielts_speaking_practice | Ielts mündliche Praxis | Generieren Sie IELTS -Fragen und Dialoge für mündliche Übungen, damit Benutzer IELTS mündliche Übungen üben können | - - |
get_day_of_week | Holen Sie sich den aktuellen Tag oder Datum der Woche oder Datum | Wenn der Benutzer nach dem aktuellen Zeit-, Datum oder Tag der Woche fragt, werden die entsprechenden Informationen zurückgegeben | Der Benutzer sagte: "Welchen Tag der Woche heute?" → Kehren Sie zur aktuellen Woche zurück |
schedule_task | Erstellen Sie eine zeitgesteuerte Aufgabe | Benutzer können die Ausführungszeit und den Inhalt der Aufgabe angeben und Benutzer regelmäßig daran erinnern | Der Benutzer sagte: "Erinnern Sie mich daran, jeden Morgen um 8 Uhr Wasser zu trinken." → time: '08:00', content: '提醒我喝水' |
open_application | Öffnen Sie die angegebene Anwendung auf Ihrem Mac | Benutzer können den Namen der Anwendung angeben, und das Skript startet die entsprechende Anwendung auf dem Mac | Der Benutzer sagte: "Öffnen Sie Safari." → application_name: 'Safari' |
web_search | Suchen Sie online nach angegebenen Keywords | Geben Sie die entsprechenden Suchergebnisse basierend auf dem vom Benutzer bereitgestellten Suchinhalte zurück | Der Benutzer sagte: "Suche nach den neuesten technischen Nachrichten." → query: '最新的科技新闻' |
Beitragsleitfaden
Alle Beiträge sind willkommen! Wenn Sie Vorschläge für Verbesserungen des Kautionsprojekts haben oder Probleme finden, geben Sie bitte Feedback oder senden Sie eine Pull -Anfrage über Github -Probleme.
Open -Source -Protokoll
Das Projekt basiert auf der MIT -Lizenz offen. Sie können dieses Projekt frei verwenden, ändern und verteilen, müssen jedoch die ursprüngliche Lizenzerklärung beibehalten.
Kontaktinformationen
Wenn Sie Fragen oder Vorschläge haben, wenden Sie sich bitte an:
- Github -Probleme: Projektprojektverfolgung
Haftungsausschluss
Bailing ist ein Open -Source -Projekt für persönliche Lern- und Forschungszwecke. Bitte beachten Sie den folgenden Haftungsausschluss, wenn Sie dieses Projekt verwenden:
- Persönlicher Gebrauch : Dieses Projekt gilt nur für persönliche Studien und Forschung und eignet sich nicht für kommerzielle Nutzung oder Produktionsumgebungen.
- Risiken und Verantwortung : Die Verwendung der Kaution kann zu Datenverlust, Systemversagen oder anderen Problemen führen. Wir sind nicht verantwortlich für Verluste, Schäden oder Probleme, die sich aus der Verwendung dieses Projekts ergeben.
- Support : Dieses Projekt bietet keine technische Unterstützung oder Garantie. Benutzer müssen das Risiko für die Verwendung dieses Projekts auf eigenes Risiko tragen.
Bitte stellen Sie sicher, dass Sie diese Haftungsausschlüsse verstehen und akzeptieren, bevor Sie dieses Projekt verwenden. Wenn Sie diesen Bedingungen nicht zustimmen, verwenden Sie dieses Projekt bitte nicht.
Vielen Dank für Ihr Verständnis und Ihre Unterstützung!