Bailing
Bailing adalah asisten percakapan suara open source yang dirancang untuk melakukan percakapan alami dengan pengguna melalui suara. Proyek ini menggabungkan pengenalan suara (ASR), deteksi aktivitas bicara (VAD), model bahasa besar (LLM) dan teknologi sintesis wicara (TTS). Ini adalah robot percakapan suara seperti GPT-4O yang diimplementasikan melalui ASR+LLM+TTS untuk memberikan pengalaman percakapan suara berkualitas tinggi dengan penundaan end-to-end 800ms. Bailing bertujuan untuk mencapai efek dialog seperti GPT-4O tanpa perlu GPU, dan cocok untuk berbagai perangkat tepi dan lingkungan sumber daya rendah.

Fitur Proyek
- Model Sumber Terbuka yang Efisien : Bailing menggunakan beberapa model open source untuk memastikan pengalaman percakapan suara yang efisien dan andal.
- Tidak diperlukan GPU : Dioptimalkan, dapat digunakan secara lokal, dan masih memberikan kinerja kinerja seperti GPT-4.
- Desain modular : Modul ASR, VAD, LLM dan TTS tidak tergantung satu sama lain dan dapat diganti dan ditingkatkan sesuai dengan persyaratan.
- Fungsi Dukungan Memori : Ini memiliki kemampuan untuk belajar terus menerus, dapat mengingat preferensi pengguna dan dialog historis, dan memberikan pengalaman interaktif yang dipersonalisasi.
- Panggilan alat pendukung : Integrasi yang fleksibel dari alat eksternal, pengguna dapat secara langsung meminta informasi atau melakukan operasi melalui suara, meningkatkan kepraktisan asisten.
- Dukungan Manajemen Tugas : Mengelola tugas pengguna secara efisien, dapat melacak kemajuan, mengatur pengingat, dan memberikan pembaruan dinamis untuk memastikan bahwa pengguna kehilangan masalah penting.
Pendahuluan Proyek
Bailing mewujudkan fungsi dialog suara melalui komponen teknis berikut:
- ASR : Gunakan funasr untuk pengenalan ucapan otomatis untuk mengubah suara pengguna menjadi teks.
- VAD : Gunakan silero-vad untuk melakukan deteksi aktivitas suara untuk memastikan bahwa hanya segmen suara yang valid yang diproses.
- LLM : Gunakan Deepseek sebagai model bahasa besar untuk memproses input pengguna dan menghasilkan respons, yang sangat hemat biaya.
- TTS : Gunakan Edge-TTS Chattts MacOS mengatakan untuk konversi teks-ke-ucapan, mengubah respons teks yang dihasilkan menjadi pidato yang alami dan halus.
Deskripsi kerangka kerja

Robot bertanggung jawab untuk manajemen tugas yang efisien dan manajemen memori, dan secara cerdas dapat menangani permintaan interupsi pengguna, sambil mencapai koordinasi dan koneksi yang mulus antara berbagai modul untuk memastikan pengalaman interaktif yang lancar.
| Status pemain | Apakah akan berbicara | menjelaskan |
|---|
| Bermain | Tidak berbicara | normal |
| Bermain | mengatakan | Mengganggu pemandangan |
| Tidak dimainkan | Tidak berbicara | normal |
| Tidak dimainkan | mengatakan | Vad penilaian, pengakuan ASR |
Demo
Dialog Audio Bailing
Dialog Audio Bailing
Fitur fungsional
- Input Suara : Pengenalan Pidato yang Akurat Melalui Funasr.
- Deteksi aktivitas suara : Gunakan silero-vad untuk menyaring audio yang tidak valid untuk meningkatkan efisiensi pengakuan.
- Generasi Dialog Cerdas : Mengandalkan pemahaman bahasa yang kuat yang disediakan oleh Deepseek, ia menghasilkan balasan teks alami, yang sangat hemat biaya.
- Output Suara : Konversi teks menjadi suara melalui edge-tts untuk memberi pengguna umpan balik pendengaran yang realistis.
- Dukungan interupsi : Konfigurasi fleksibel dari kebijakan interupsi dapat digunakan untuk mengidentifikasi kata kunci dan interupsi suara, memastikan umpan balik instan dan kontrol pengguna dalam percakapan, dan meningkatkan kelancaran interaksi.
- Fungsi Dukungan Memori : Ini memiliki kemampuan untuk belajar terus menerus, dapat mengingat preferensi pengguna dan dialog historis, dan memberikan pengalaman interaktif yang dipersonalisasi.
- Panggilan alat pendukung : Integrasi yang fleksibel dari alat eksternal, pengguna dapat secara langsung meminta informasi atau melakukan operasi melalui suara, meningkatkan kepraktisan asisten.
- Dukungan Manajemen Tugas : Mengelola tugas pengguna secara efisien, dapat melacak kemajuan, mengatur pengingat, dan memberikan pembaruan dinamis untuk memastikan bahwa pengguna kehilangan masalah penting.
Keuntungan Proyek
- Percakapan Suara Berkualitas Tinggi : Mengintegrasikan teknologi ASR, LLM, dan TTS yang sangat baik untuk memastikan kelancaran dan keakuratan percakapan suara.
- Desain ringan : Berjalan tanpa perangkat keras berkinerja tinggi, cocok untuk lingkungan yang dibatasi sumber daya.
- Sumber terbuka sepenuhnya : Bailing sepenuhnya open source, mendorong kontribusi masyarakat dan pengembangan sekunder.
Instalasi dan jalankan
Bergantung pada lingkungan
Pastikan bahwa alat dan perpustakaan berikut diinstal di lingkungan pengembangan Anda:
- Python 3.8 atau lebih
- Manajer Paket
pip - Funasr, Silero-Vad, Deepseek, Perpustakaan Ketergantungan Edge-TTS Diperlukan
Langkah Instalasi
Mengkloning gudang proyek:
git clone https://github.com/wwbin2017/bailing.git
cd bailing
Ketergantungan yang diperlukan untuk pemasangan:
pip install -r requirements.txt
Konfigurasikan variabel lingkungan:
- Buka config/config.yaml untuk mengonfigurasi ASR LLM dan konfigurasi terkait lainnya
- Unduh SensevoicesMall ke Model Direktori/SensevoicesMall SensevoicesMall Address Download
- Buka situs web resmi Deepseek untuk mendapatkan konfigurasi API_Key, Deepseek Dapatkan API_Key, tentu saja, Anda juga dapat mengkonfigurasi model lain seperti OpenAi, Qwen, Gemini, 01YI, dll.
Jalankan proyek:
cd server
python server.py # 启动后端服务,也可不执行这一步
Petunjuk Penggunaan
- Setelah memulai aplikasi, sistem akan menunggu input suara.
- Konversi suara pengguna ke teks melalui funasr.
- Silero-Vad melakukan deteksi aktivitas suara untuk memastikan bahwa hanya suara yang valid yang diproses.
- Deepseek memproses input teks dan menghasilkan balasan pintar.
- Edge-TTS, Chattts, MacOS mengatakan mengubah teks yang dihasilkan menjadi pidato dan memainkannya kepada pengguna.
Peta jalan
Di masa depan, bailing akan disublimasikan menjadi asisten pribadi seperti Jarvis, seperti think tank yang peduli dengan memori yang tak tertandingi dan kemampuan manajemen tugas yang berwawasan ke depan. Mengandalkan teknologi kain dan agen mutakhir, itu akan secara akurat mengontrol urusan dan pengetahuan Anda dan menyederhanakan kompleks. Hanya bisikan, seperti "Bantuan saya menemukan berita terbaru" atau "merangkum perkembangan terbaru dalam model besar", Bailing merespons dengan cepat, menganalisis dengan cerdas, melacak secara real time, dan menyajikan hasilnya dengan anggun kepada Anda. Bayangkan Anda tidak hanya memiliki asisten, tetapi mitra pintar yang berpengalaman dalam kebutuhan Anda, menemani Anda di setiap momen penting di masa depan, membantu Anda melihat semuanya dan memenangkan seribu mil.
Alat yang didukung
| Nama fungsi | menggambarkan | Fungsi | Contoh |
|---|
get_weather | Dapatkan informasi cuaca untuk suatu lokasi | Setelah memberikan nama lokasi, kembali ke kondisi cuaca lokasi | Pengguna berkata: "Bagaimana cuaca di Hangzhou?" → zhejiang/hangzhou |
ielts_speaking_practice | Latihan oral IELTS | Hasilkan pertanyaan dan dialog latihan oral IELTS untuk membantu pengguna berlatih latihan oral IELTS | - |
get_day_of_week | Dapatkan hari ini dalam seminggu atau tanggal | Ketika pengguna meminta waktu, tanggal atau hari dalam seminggu saat ini, informasi yang sesuai dikembalikan | Pengguna berkata: "Hari apa dalam seminggu hari ini?" → kembali ke minggu ini |
schedule_task | Buat tugas waktunya | Pengguna dapat menentukan waktu eksekusi dan konten tugas dan mengingatkan pengguna secara teratur | Pengguna berkata: "Ingatkan saya untuk minum air setiap pagi pada jam 8." → time: '08:00', content: '提醒我喝水' |
open_application | Buka aplikasi yang ditentukan di Mac Anda | Pengguna dapat menentukan nama aplikasi, dan skrip akan meluncurkan aplikasi yang sesuai di Mac | Pengguna berkata, "Buka Safari." → application_name: 'Safari' |
web_search | Cari kata kunci yang ditentukan secara online | Mengembalikan hasil pencarian yang sesuai berdasarkan konten pencarian yang disediakan oleh pengguna | Pengguna berkata: "Cari berita teknologi terbaru." → query: '最新的科技新闻' |
Panduan Kontribusi
Kontribusi apa pun dipersilakan! Jika Anda memiliki saran untuk perbaikan pada proyek jaminan atau menemukan masalah, berikan umpan balik atau kirimkan permintaan tarik melalui masalah GitHub.
Protokol Sumber Terbuka
Proyek ini bersumber terbuka berdasarkan lisensi MIT. Anda bebas menggunakan, memodifikasi, dan mendistribusikan proyek ini, tetapi Anda perlu mempertahankan pernyataan lisensi asli.
Informasi kontak
Jika Anda memiliki pertanyaan atau saran, silakan hubungi:
- Masalah GitHub: Pelacakan Masalah Proyek
Penafian
Bailing adalah proyek open source yang dirancang untuk tujuan pembelajaran dan penelitian pribadi. Harap perhatikan penafian berikut saat menggunakan proyek ini:
- Penggunaan Pribadi : Proyek ini hanya untuk studi pribadi dan penelitian dan tidak cocok untuk penggunaan komersial atau lingkungan produksi.
- Risiko dan Tanggung Jawab : Menggunakan Bailing dapat menyebabkan kehilangan data, kegagalan sistem, atau masalah lainnya. Kami tidak bertanggung jawab atas kerugian, kerusakan atau masalah yang timbul dari penggunaan proyek ini.
- Dukungan : Proyek ini tidak memberikan dukungan teknis atau garansi. Pengguna harus menanggung risiko menggunakan proyek ini dengan risiko sendiri.
Pastikan Anda memahami dan menerima penafian ini sebelum menggunakan proyek ini. Jika Anda tidak setuju dengan ketentuan ini, jangan gunakan proyek ini.
Terima kasih atas pengertian dan dukungan Anda!