Pembantu AI Suara Masa Nyata dengan Panggilan Fungsi & Penstriman Audio Dua Arah
Sebuah platform kecergasan dan pemakanan memerlukan pembantu AI berasaskan suara yang boleh bertindak balas kepada pengguna secara masa nyata dengan perbualan semula jadi, melaksanakan pengiraan khusus domain (pelarasan hidangan, penjejakan kalori), dan menyuarakan semula jawapan β semuanya dengan kependaman bawah satu saat untuk pengalaman perbualan yang tulen.
Bincangkan Projek Anda
Cabaran
Membina pembantu AI suara gred pengeluaran menimbulkan cabaran kejuruteraan masa nyata yang unik:
- Kependaman β Saluran paip speech-to-text β LLM β text-to-speech tradisional menambah 3-5 saat kelewatan, mengganggu aliran perbualan
- Panggilan Fungsi β Pembantu perlu melaksanakan logik domain (pengiraan pemakanan, pelarasan rancangan makan) di tengah perbualan, bukan sekadar berbual
- Penstriman Audio β Audio dua arah perlu mengalir secara berterusan tanpa jurang penimbalan atau isu gema
- Kesedaran Konteks β Pembantu perlu mengekalkan konteks perbualan sepanjang giliran sambil mengendalikan gangguan
- Pelbagai Bahasa β Pengguna bertutur dalam bahasa yang berbeza dan mengharapkan respons dalam bahasa yang sama
- Pengasingan Sesi β Setiap sesi suara memerlukan pengurusan keadaan yang bebas tanpa perbualan silang
Penyelesaian Kami
Kami membina pembantu AI suara masa nyata yang dikuasakan oleh Gemini Live API Google dengan keupayaan audio asli, panggilan fungsi tersuai untuk pengiraan khusus domain, dan React frontend dengan penstriman audio berasaskan WebSocket.
Seni Bina
- Model AI: Gemini dengan input/output audio asli dan panggilan fungsi
- Backend: Python/FastAPI dengan WebSocket endpoint untuk audio dua arah
- Saluran Paip Audio: PyAudio untuk I/O mikrofon/pembesar suara dengan penstriman masa nyata
- Frontend: React dengan Vite dan Tailwind CSS untuk UI kawalan sesi
- Komunikasi: WebSocket untuk pemesejan JSON kependaman rendah dan pengangkutan audio binari
- Multimodal: Tangkapan kamera dan skrin pilihan untuk konteks visual
Saluran Paip Audio Masa Nyata
Penstriman Dua Arah
Sistem mengekalkan aliran audio berterusan dalam kedua-dua arah:
- Input: Audio mikrofon ditangkap pada 16kHz mono, dipecahkan kepada bingkai kecil, dan distrim ke model AI secara masa nyata
- Output: Ucapan yang dijana AI diterima pada 24kHz dan dimainkan melalui pembesar suara dengan serta-merta
- Tiada Pemprosesan Kelompok: Pecahan audio dihantar seperti yang ditangkap β tiada kelewatan pengumpulan
- Pengendalian Gangguan: Pengguna boleh mengganggu pembantu di tengah respons secara semula jadi
Pemprosesan Audio
- Format PCM 16-bit untuk input dan output
- Kadar sampel berasingan yang dioptimumkan untuk ucapan (penangkapan 16kHz, main balik 24kHz)
- Saiz penimbal kecil untuk kependaman minimum
- Penstriman berterusan tanpa jurang mula/henti antara giliran
Integrasi Panggilan Fungsi
Cara Ia Berfungsi
Model AI boleh memanggil fungsi Python tempatan di tengah perbualan apabila pengiraan khusus domain diperlukan:
- Pengguna menyuarakan permintaan (cth., "Saya terlepas makan tengah hari hari ini")
- Model AI menyalin dan memahami niat
- Model menentukan panggilan fungsi diperlukan dan menghantar permintaan berstruktur
- Backend mengekstrak nama fungsi, argumen, dan ID panggilan
- Fungsi tempatan melaksanakan pengiraan domain
- Hasil dihantar kembali ke model sebagai respons berstruktur
- Model menjana respons suara bahasa semula jadi yang menggabungkan hasil
Fungsi Domain
Sistem ini menyokong panggilan fungsi yang berfokuskan pemakanan untuk senario seperti:
- Hidangan Terlepas β Mengagihkan semula makronutrien yang terlepas merentas hidangan yang tinggal
- Makanan Tidak Dirancang β Melaraskan hidangan akan datang untuk mengimbangi pengambilan yang tidak dijangka
- Penggantian Hidangan β Menukar bahan sambil mengekalkan sasaran makro
- Penjejakan Aktiviti β Menganggarkan pembakaran kalori dan melaraskan penimbal nutrisi
Setiap fungsi menggunakan pangkalan data makro dengan profil nutrisi setiap makanan dan melakukan pengiraan dinamik dengan sedikit variasi stokastik untuk respons yang terasa semula jadi.
Keselamatan Pelaksanaan
- Input mikrofon dijeda semasa pelaksanaan fungsi untuk mengelakkan pertindihan
- Bingkai audio yang belum selesai digugurkan untuk mengelakkan konteks lapuk
- Respons ralat dihantar kembali dengan lancar jika pelaksanaan fungsi gagal
- Penstriman normal disambung semula serta-merta selepas fungsi selesai
Seni Bina Backend
Pelayan WebSocket FastAPI
- Endpoint WebSocket tunggal untuk semua komunikasi klien
- Pengurusan kitaran hayat sesi (mula, henti, pemeriksaan kesihatan ping/pong)
- Satu sesi aktif pada satu masa dengan penguncian sesi
- CORS middleware untuk persekitaran pembangunan
- Endpoint pemeriksaan kesihatan untuk pemantauan
Pengurusan Sesi
- Sesi dicipta pada sambungan klien dengan pemilihan mod (audio sahaja, kamera, atau skrin)
- Tugas async latar belakang mengendalikan penangkapan, pemprosesan, dan main balik audio secara serentak
- Pemutusan sambungan yang lancar dengan pembersihan sumber
- Pengesahan kunci API dan penyebaran ralat
Input Multimodal (Pilihan)
Selain suara, sistem ini menyokong konteks visual pilihan:
- Mod Kamera β Menstrim bingkai webcam (1fps) untuk konteks visual dalam perbualan
- Mod Skrin β Menangkap kandungan skrin untuk membincangkan maklumat pada skrin
- Imej diubah saiz dan dimampatkan sebelum penghantaran
- Konteks visual meningkatkan keupayaan AI untuk memberikan respons yang relevan
Antaramuka Frontend
- Kawalan Sesi β Mula/henti mendengar dengan penunjuk status yang jelas
- Paparan Status β Sambungan masa nyata dan keadaan sesi (terbiar, menyambung, aktif, ralat)
- Sokongan Tema β Mod terang/gelap dengan ketekalan
- Panduan Berpandu β Demo langkah demi langkah untuk pengguna kali pertama
- Pengurusan WebSocket β Logik penyambungan semula automatik
Konfigurasi Model AI
- Modaliti audio asli (tiada saluran paip STT/TTS berasingan)
- Pemilihan suara yang boleh dikonfigurasi daripada pelbagai suara pratetap
- Arahan sistem yang menentukan personaliti pembantu, gaya respons, dan pengendalian bahasa
- Definisi alat untuk semua fungsi yang tersedia dengan skema parameter
- Pengesanan bahasa automatik dengan respons bahasa yang sama
Ciri-ciri Utama
- Kependaman Bawah Satu Saat β Model audio asli menghapuskan overhed saluran paip STT/TTS
- Audio Dua Arah Masa Nyata β Penstriman berterusan dengan < 50ms setiap pecahan
- Panggilan Fungsi β Pengiraan khusus domain dilaksanakan di tengah perbualan
- Gangguan Semula Jadi β Pengguna boleh mengganggu pembantu secara semula jadi tanpa arahan khas
- Pelbagai Bahasa β Pengesanan bahasa automatik dengan respons bahasa yang sama
- Input Multimodal β Konteks kamera dan skrin pilihan untuk pemahaman visual
- Pengurusan Sesi β Kawalan kitaran hayat sesi dengan penguncian dan pembersihan sumber
- Pengiraan Makro β Pelarasan nutrisi dinamik dengan profil makro setiap makanan
- Pemulihan Ralat β Pengendalian kegagalan fungsi dan gangguan rangkaian yang lancar
- Boleh Diperluaskan β Fungsi baharu ditambah dengan mentakrifkan skema dan pengendali β tiada perubahan seni bina
Keputusan
Timbunan Teknologi
caseStudyDetail.more Kajian Kes
Terokai lebih banyak pelaksanaan teknikal kami
Pemprosesan Invois Berkuasa AI dengan OCR dan Integrasi QuickBooks
Sebuah perniagaan bersaiz sederhana yang memproses ratusan invois vendor setiap bulan perlu menghapuskan kemasukan data manual dengan mengekstrak data invois secara automatik menggunakan AI/OCR dan menyegerakkannya terus ke dalam QuickBooks untuk tujuan simpan kira dan penjejakan pembayaran.
Penyisipan Iklan Sisi Klien (CSAI) dengan Penghuraian Penanda SCTE-35 & Integrasi Pemain Berbilang Platform
Sebuah platform penstriman video perlu melaksanakan Client-Side Ad Insertion (CSAI) merentasi aplikasi web, mudah alih, dan TV bersambung β membolehkan pengalaman iklan yang diperibadikan pada peringkat peranti dengan sokongan interaksi iklan penuh (lapisan tindanan boleh klik, sepanduk pendamping, butang langkau) yang tidak dapat disediakan oleh penyisipan sisi pelayan.
Bersedia untuk Mentransformasi Perniagaan Anda?
Mari bincangkan bagaimana kami boleh mengaplikasikan penyelesaian serupa untuk cabaran anda.