अफेक्टिव डायलॉग
अफेक्टिव डायलॉग एजेंट को भावना-जागरूक बनाता है: यह उपयोगकर्ता की आवाज़ से उनके लहजे — निराशा, उत्साह, झिझक — को समझता है और अपनी डिलीवरी को उसके अनुसार ढालता है। एक निराश ग्राहक को शांत, अधिक सावधान एजेंट की आवाज़ सुनाई देती है; एक खुश ग्राहक को बदले में गर्मजोशी मिलती है। यह एक स्क्रिप्ट और एक बातचीत के बीच का अंतर है।
इसे सक्षम करना
RealtimeConfig पर एक बिल्डर कॉल:
let config = RealtimeConfig::default()
.with_instruction("You are a warm, empathetic support agent.")
.with_voice("Kore")
.with_audio_only()
.with_vad(VadConfig::server_vad())
.with_transcription()
.with_affective_dialog(true); // ← emotion-aware responses
आवश्यकताएँ (इसे पढ़ें)
अफेक्टिव डायलॉग एक Gemini-only सुविधा है जिसकी दो कठोर आवश्यकताएँ हैं:
- एक नेटिव-ऑडियो मॉडल। यह हाफ-कैस्केड
gemini-3.1-flash-live-previewपर समर्थित नहीं है। एक नेटिव-ऑडियो मॉडल का उपयोग करें जैसेmodels/gemini-2.5-flash-native-audio-preview-12-2025। v1alphaएंडपॉइंट। क्रेट काGeminiLiveBackend::studio(...)पहले से हीv1alphaपर कनेक्ट होता है, इसलिए यह आपके लिए संभाला जाता है।
यदि आप with_affective_dialog(true) को ऐसे मॉडल पर सेट करते हैं जो इसे सपोर्ट नहीं करता है, तो Gemini सेटअप को "Unknown name enableAffectiveDialog" के साथ अस्वीकार कर दिया जाता है और सेशन बंद हो जाता है। इसलिए जब आप इसे सक्षम करें तो मॉडल बदलें:
let (default_model, voice) = if affective {
("models/gemini-2.5-flash-native-audio-preview-12-2025", "Kore")
} else {
("models/gemini-3.1-flash-live-preview", "Kore")
};
OpenAI पर (और गैर-नेटिव Gemini मॉडल पर) with_affective_dialog(true) एक नो-ऑप है — हानिरहित, बस अनदेखा किया जाता है — इसलिए इसे बिना शर्त सेट करना और प्रदाता को निर्णय लेने देना सुरक्षित है।
ट्रेड-ऑफ
नेटिव-ऑडियो मॉडल सबसे स्वाभाविक, अभिव्यंजक आवाज़ और अफेक्ट अनुकूलन देते हैं, लेकिन वे हाफ-कैस्केड मॉडल की तुलना में टूल को कम विश्वसनीय रूप से कॉल करते हैं। तो यह एक वास्तविक विकल्प है:
- टूल-हैवी एजेंट (रिफंड, लुकअप, एक्शन) → हाफ-कैस्केड (
gemini-3.1-flash-live-preview), कोई अफेक्टिव डायलॉग नहीं। - सहानुभूति-प्रथम एजेंट (समर्थन डी-एस्केलेशन, साहचर्य, कोचिंग) → नेटिव-ऑडियो + अफेक्टिव डायलॉग।
customer_service उदाहरण ठीक इसी कारण से इसे ऑप्ट-इन बनाता है: CS_AFFECTIVE=1 Gemini को नेटिव-ऑडियो मॉडल पर स्विच करता है और फ्लैग को चालू करता है; अन्यथा यह टूल-विश्वसनीय मॉडल को रखता है।
अंदरूनी कामकाज
with_affective_dialog(true) RealtimeConfig.affective_dialog सेट करता है, और Gemini सेटअप enableAffectiveDialog: true को generationConfig के अंदर उत्सर्जित करता है (सेटअप के शीर्ष स्तर पर नहीं — v1alpha एंडपॉइंट इसे वहां अस्वीकार करता है)। आपको इसका उपयोग करने के लिए यह जानने की आवश्यकता नहीं है, लेकिन यही कारण है कि मॉडल + एंडपॉइंट आवश्यकताएँ सख्त हैं।
फ्लैग के बिना सहानुभूति। OpenAI या हाफ-कैस्केड मॉडल पर भी, एक अच्छी तरह से लिखा गया निर्देश ("उपयोगकर्ता की भावनात्मक स्थिति पर ध्यान दें और ईमानदारी से उसे स्वीकार करें") सार्थक रूप से सहानुभूतिपूर्ण व्यवहार उत्पन्न करता है। अफेक्टिव डायलॉग Gemini नेटिव-ऑडियो पर इसके ऊपर वास्तविक ध्वनिक टोन-मैचिंग जोड़ता है।
अगला: मेमोरी →