Gemini 3.1 Flash Live सपोर्ट + MiniCPM-o 4.5 vLLM चुनौती — Naia OS की S2S रियल-टाइम वॉयस AI डेवलपमेंट स्टोरी के बाद से, मैं कुछ समय से कोई पोस्ट अपडेट नहीं कर पाया।
इस बीच बहुत कुछ हुआ है। Nextain कोरिया के ईसाई पोर्टल (www.onmam.com) के संचालन की जिम्मेदारी ले रहा था और AI अनुप्रयोगों के लिए समर्थन पर चर्चा कर रहा था, और कोरियाई सरकार के एक प्रोजेक्ट के लिए चुने जाने के बाद Naia की सेवाओं को भी गति मिली है। ऐसा लगता है कि हम Vroid Hub के डिफ़ॉल्ट अवतारों के बजाय Naia के वास्तविक अवतारों को पेश कर पाएंगे।
और पिछली पोस्ट के अंत में, मैंने लिखा था कि 'अगले हफ्ते मैं कुछ ग्राफिक कार्ड उधार लेकर काम करूंगा, इसलिए मुझे लगता है कि स्थिति थोड़ी आसान हो जाएगी', और अब मैं उस वादे को पूरा कर पाया हूँ। RTX 3090 के दो कार्डों के वातावरण में, MiniCPM-o 4.5 को vllm-omni पर पोर्ट किया गया और Naia क्लाइंट से जोड़ा गया, और वास्तविक समय की अंग्रेजी बातचीत ऑडियो रेफरेंस (वॉयस क्लोनिंग) तक का प्रारंभिक ऑपरेशन सत्यापन पूरा हो गया है।
जानकारी के लिए, MiniCPM-o 4.5 को vllm-omni पर चलाने वाले हम पहले हैं, और विदेशों में भी लोग उत्सुक हैं कि यह कहाँ तक पहुँचा है। अपस्ट्रीम के > #1182 में किसी और का प्रयास > है, लेकिन इसे मर्ज नहीं किया गया है, और हम भी एक अलग ट्रैक पर काम कर रहे हैं। यह अब एक ऐसे स्तर पर है जहाँ यह ठीक से काम कर रहा है, और अब हम इसे अपस्ट्रीम मेंटेनर द्वारा स्वीकार किए जाने योग्य स्तर पर व्यवस्थित कर रहे हैं।
MiniCPM-o 4.5 को क्यों लक्षित किया गया?
जैसा कि मैंने पिछली पोस्ट में लिखा था, लेकिन फिर से संक्षेप में कहूँ तो, एक ओमनी मॉडल जो एक व्यक्ति द्वारा RTX 3090 के एक कार्ड पर चलाया जा सकता है और जिसमें ऑडियो रेफरेंस (वॉयस क्लोनिंग) और फाइन-ट्यूनिंग दोनों एक साथ संभव हैं, वर्तमान में MiniCPM-o 4.5 ही एकमात्र है।
- GPT-4o / Gemini Live — केवल क्लाउड के लिए, वजन सार्वजनिक नहीं, फाइन-ट्यूनिंग संभव नहीं
- Moshi — ओपन-सोर्स और फुल-डुप्लेक्स में उत्कृष्ट, लेकिन मुख्य रूप से अंग्रेजी/फ्रेंच + निष्क्रिय समुदाय
- Qwen3-Omni-30B — 30B होने के कारण, बिना क्वांटाइजेशन के 24 GB के एक कार्ड में फिट नहीं होता, और क्वांटाइजेशन करने पर वॉयस आउटपुट खराब हो जाता है
- MiniCPM-o 4.5 — 9B (Whisper-medium + Qwen3-8B + CosyVoice2 + SigLip2 का संयोजन), 24 GB के एक कार्ड पर चलता है, ऑडियो रेफरेंस के साथ वॉयस क्लोन, और फाइन-ट्यूनिंग संभव
लेकिन अभी भी कोरियाई भाषा का समर्थन न होना एक कमी है और शायद यही वह क्षेत्र है जहाँ हम योगदान कर सकते हैं। इसलिए, इस AI चैंपियन में, हमने "तुम्हें याद रखता हूँ" टीम के नाम से vLLM-omni कोरियाई फाइन-ट्यूनिंग कार्य और Naia-Memory का उपयोग करके एक वर्चुअल यूट्यूबर सेवा प्रस्तुत करने का प्रयास किया। हमारे पास वांछित स्तर का ओमनी मॉडल न होने के कारण हम "घरेलू" श्रेणी के तहत डॉकफामो के लिए आवेदन नहीं कर पाए।
"क्या हर कोई एक AI वर्चुअल यूट्यूबर नहीं चाहेगा जो मेरे पीसी पर मुझे याद रखे और मेरी अपनी आवाज़ में बात करे?" इसे संभव बनाने के लिए, हम मानते हैं कि निम्नलिखित तकनीकों की आवश्यकता है, और हम उन पर ध्यान केंद्रित कर रहे हैं।
- स्थानीय रूप से चलने वाला ओमनी मॉडल — STT/LLM/TTS पाइपलाइन के बजाय एंड-टू-एंड स्पीच-टू-स्पीच। पाइपलाइन विधि में संचयी विलंब और इंटोनेशन हानि बहुत अधिक होती है। → MiniCPM-o 4.5
- ऑडियो रेफरेंस (वॉयस क्लोनिंग) — "इस आवाज़ में बोलो" एक बार सुनाने पर उसी टोन और लहजे में बातचीत। → CosyVoice2 के spk_emb आधारित क्लोनिंग
- दीर्घकालिक स्मृति — एक मेमोरी सिस्टम जो प्रत्येक सत्र में रीसेट नहीं होता, बल्कि उपयोगकर्ता को याद रखता है। → हमारा अलग से विकसित किया जा रहा Naia Memory (4-स्तरीय मस्तिष्क विज्ञान प्रेरित स्मृति प्रणाली)
- कोरियाई भाषा — उपरोक्त तीनों को कोरियाई में काम करना चाहिए ताकि दैनिक जीवन में उपयोग हो सके। → CosyVoice2 कोरियाई फाइन-ट्यूनिंग (AIHub डेटा अधिग्रहण पूरा, GPU समर्थन पर तत्काल शुरू)
और इसके अतिरिक्त, एक और ट्रैक है जिसे जल्द ही जारी किया जाएगा। naia-sing — मुझे लगता है कि आप नाम से ही समझ गए होंगे। कृपया प्रतीक्षा करें। नीचे वास्तविक संचालन डेमो और तकनीकी विवरण भी साझा किए गए हैं।
डेमो 1 — Naia क्लाइंट पर बातचीत
डेमो वीडियो में मेरी खराब अंग्रेजी के लिए कृपया क्षमा करें।
यह vllm-omni पर MiniCPM 4.5-o को पोर्ट करने और Naia डेस्कटॉप ऐप से जोड़कर बातचीत का परीक्षण करने वाला एक वीडियो है। हार्डवेयर RTX-3090 ×2 (2-वे) है, बिना क्वांटाइजेशन के bf16। ओमनी मॉडल (S2S, एंड-टू-एंड स्पीच-टू-स्पीच) की विशेषता के अनुसार, बातचीत का प्रवाह सहज और प्राकृतिक भावनात्मक अभिव्यक्ति के साथ जीवंत हो उठता है। वर्तमान में यह अंग्रेजी और चीनी का समर्थन करता है।
डेमो 2 — MiniCPM-o डेमो पेज + ऑडियो रेफरेंस
यह MiniCPM-o 4.5 के आधिकारिक डेमो पेज का एक फोर्क है जो vllm-omni बैकएंड से जुड़ा है। इसमें ऑडियो रेफरेंस (वॉयस क्लोनिंग) ऑपरेशन का एक उदाहरण शामिल है। WAV फ़ाइल अपलोड करने पर, यह उस आवाज़ के टोन और लहजे में प्रतिक्रिया संश्लेषित करता है। सर्वर साइड पर SHA-256 कुंजी LRU कैश का उपयोग करके, समान रेफरेंस के पुनर्गणना से बचा जाता है, जिससे पहली प्रतिक्रिया के बाद लगभग कोई अतिरिक्त ओवरहेड नहीं होता है।
कार्यान्वयन विवरण सारांश
तीन रिपॉजिटरी पर काम किया गया है।
| रिपो | भूमिका |
|---|---|
nextain/vllm-omni | vllm-omni फोर्क — MiniCPM-o 4.5 मॉडल मॉड्यूल + Thinker→Talker→Code2Wav 3-स्टेज पाइपलाइन + वॉयस क्लोन (session.update.ref_audio) जोड़ा गया |
nextain/MiniCPM-o-Demo-forvLLM-omni | आधिकारिक PyTorch डेमो का फोर्क — backend=vllm_omni मोड जोड़ा गया, ऑडियो-डुप्लेक्स पेज पर vllm-omni URL सीधे दर्ज/सत्यापित किया जा सकता है |
nextain/naia-os | Naia डेस्कटॉप ऐप — MiniCpmOConfig.refAudio फर्स्ट-क्लास फ़ील्ड जोड़ा गया, ब्राउज़र (Tauri वेबव्यू) से AudioContext → 16 kHz मोनो → base64 WAV एनकोडर |
Naia क्लाइंट डेमो गेटवे से होकर नहीं, बल्कि vllm-omni के /v1/realtime (OpenAI Realtime API संगत) से सीधे जुड़ता है। WebSocket के माध्यम से PCM16 16 kHz ऑडियो भेजा जाता है, और 24 kHz मोनो PCM16 में प्रतिक्रिया प्राप्त होती है। सभी कार्य Claude Code के साथ किए गए थे। मॉडल कोड, स्टेज कॉन्फ़िगरेशन YAML, stage_input_processor, डेमो बैकएंड प्रॉक्सी, Naia का TypeScript क्लाइंट + WAV एनकोडर + vitest तक।
- Naia का पूरी तरह से पुनर्गठन किया जा रहा है। Naia-os का कुछ हिस्सा naia-agent के रूप में एक लचीला CLI बैकएंड संरचना बन जाएगा, और इसे Naia-memory और Naia-ADK के साथ जोड़ा जाएगा।
लेकिन AI स्लोप अभी भी है
पिछली पोस्ट में, मैंने लिखा था कि "इस कार्य का उद्देश्य AI-नेटिव ओपन-सोर्स इकोसिस्टम को साकार करना और यह प्रयोग करना है कि AI बिना किसी AI स्लोप के ओपन-सोर्स में सही ढंग से योगदान कर सकता है", और वर्तमान में भी वह हिस्सा सबसे कठिन है, और अंतिम जाँच करने पर फिर से समस्याएँ सामने आईं। लेकिन मैं इस समस्या को हल करने से पहले इसे जल्द से जल्द साझा करना चाहता था, इसलिए मैंने यह पोस्ट पहले लिखी।
पिछले कुछ दिनों में, मैंने एक अन्य AI एजेंट को एक विरोधी समीक्षक के रूप में 4 बार चलाया। पहले दौर में 2 BLOCKER + 13 MAJOR। उनमें से एक स्पष्ट झूठ था, जैसे "उदाहरण क्लाइंट काम नहीं कर रहा है — बैकएंड ऑडियो इनपुट-आधारित है लेकिन टेक्स्ट-ड्रिवेन लिखा गया है"। दूसरे दौर में 1 MAJOR (उदाहरण Python 3.13 से हटाए गए stdlib audioop का उपयोग करता है)। तीसरे और चौथे दौर में क्लीन पास। हमारे नियम (2 लगातार क्लीन) पूरे हुए। लेकिन मैं वहीं नहीं रुका और इसे vllm-project मेंटेनर के दृष्टिकोण से एक बार और चलाया, और यह अभी भी वैसा ही है।
- 3 BLOCKER:
- एकल मॉडल फ़ंक्शन के लिए
chunk_transfer_adapter.pyके क्रॉस-कटिंग इनवेरिएंट (श्वेतसूची→कालीसूची) में परिवर्तन prompt_len_overrideMiniCPM-o के लिए विशिष्ट है लेकिन साझा इंफ्रा में स्थित हैchat_template_kwargs.ref_audioसाइडचैनल परत का उल्लंघन है — बगल में फर्स्ट-क्लास फ़ील्ड का उदाहरण है
- एकल मॉडल फ़ंक्शन के लिए
- 5 MAJOR + 8 MINOR
आंतरिक नियम तो पास हो गए, लेकिन बाहरी मेंटेनर के मानकों के अनुसार, पहले दौर में मर्ज नहीं होगा। इसके अतिरिक्त, upstream/main हमारे फोर्क के मर्ज-बेस के बाद फिर से अपडेट हो गया है, और अतिरिक्त मर्जिंग कार्य प्रगति पर है।
अगला कार्य
- अपस्ट्रीम दृष्टिकोण से BLOCKER/MAJOR सुधार — प्रगति पर
upstream/mainमर्ज + संघर्ष समाधान — जल्द ही- PR सबमिशन — उपरोक्त 2 के पूरा होने पर। एकल PR बनाम 2 PR विभाजन (मॉडल मॉड्यूल / वॉयस क्लोन) का निर्णय लंबित है
- कोरियाई फाइन-ट्यूनिंग — मॉडल स्वयं। CosyVoice2 (Code2Wav बैकबोन) का कोरियाई में प्रशिक्षित न होना सबसे बड़ी बाधा है। वर्तमान में कोरियाई टेक्स्ट जनरेशन सामान्य है, लेकिन वॉयस सिंथेसिस टूटकर सुनाई देता है।
अगले कार्यों को भी व्यवस्थित करके साझा किया जाएगा। हम दिखाएंगे कि AI भी ओपन-सोर्स में योगदान कर सकता है। टिप्पणियाँ या GitHub इश्यू का स्वागत है।
रिपॉजिटरी
Naia: https://naia.nextain.io