Google Assistant को इंटिग्रेट करने के लिए, नीचे दिए गए हर सेक्शन में दिए गए निर्देशों का पालन करें को भी शामिल करें.
gRPC बाइंडिंग
Google Assistant सेवा gRPC पर बनी है, जो कि काफ़ी परफ़ॉर्मेंस, ओपन-सोर्स RPC फ़्रेमवर्क पर आधारित होता है. यह फ़्रेमवर्क, इसके लिए सही है दो-तरफ़ा ऑडियो स्ट्रीमिंग.
Python
अगर Python का इस्तेमाल किया जा रहा है, तो इस गाइड की मदद से शुरुआत करें.
C++
हमारे C++ सैंपल पर एक नज़र डालें GitHub पर.
Node.js
हमारे Node.js नमूने पर एक नज़र डालें GitHub पर.
Android Things
क्या आपको एम्बेड किए गए डिवाइस देखने हैं? Assistant SDK टूल देखें इसके लिए सैंपल Android थिंग्स.
अन्य भाषाएं
- googleapis डेटा संग्रह स्थान का क्लोन बनाएं इससे Google Assistant सेवा API के लिए प्रोटोकॉल बफ़र इंटरफ़ेस की परिभाषाएँ पाई जा सकती हैं.
- gRPC जनरेट करने के लिए gRPC दस्तावेज़ का पालन करें आपकी पसंद की भाषा के लिए बाइंडिंग
- नीचे दिए गए सेक्शन में दिया गया तरीका अपनाएं.
Assistant के साथ काम करने के लिए, अपने Google खाते को अनुमति दें और उसकी पुष्टि करें
अगला चरण अपने डिवाइस को Google Assistant से बात करने की अनुमति देना है साइन इन करें.
Assistant SDK टूल के स्कोप वाले OAuth टोकन पाएं
Assistant SDK, आपके डिवाइस को ये काम करने की अनुमति देने के लिए, OAuth 2.0 ऐक्सेस टोकन का इस्तेमाल करता है Assistant से कनेक्ट करें.
प्रोटोटाइप करते समय, अनुमति देने वाले टूल का इस्तेमाल करके OAuth2.0 को आसानी से जनरेट किया जा सकता है
client_secret_<client-id>.json
फ़ाइल से क्रेडेंशियल तब जनरेट हुए, जब
अपने डिवाइस का मॉडल रजिस्टर करना.
क्रेडेंशियल जनरेट करने के लिए ये करें:
Python वर्चुअल एनवायरमेंट का इस्तेमाल करना का इस्तेमाल, सिस्टम Python पैकेज से ऑथराइज़ेशन टूल और उसकी डिपेंडेंसी को अलग करने के लिए किया जाता है.
sudo apt-get update
sudo apt-get install python3-dev python3-venv # Use python3.4-venv if the package cannot be found.
python3 -m venv env
env/bin/python -m pip install --upgrade pip setuptools wheel
source env/bin/activate
अनुमति देने वाला टूल इंस्टॉल करें:
python -m pip install --upgrade google-auth-oauthlib[tool]
टूल का इस्तेमाल करें. अगर आपको इसे डिवाइस के किसी टर्मिनल (एसएसएच सेशन नहीं) से चलाना है, तो
--headless
फ़्लैग हटाएं:google-oauthlib-tool --client-secrets /path/to/client_secret_client-id.json --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless
जब आप प्रावधान के हिस्से के तौर पर अनुमति देने के लिए तैयार हों OAuth 2.0 का इस्तेमाल करके, Google API को ऐक्सेस करने के बारे में हमारी गाइड पढ़ें. OAuth ऐक्सेस टोकन पाने, उन्हें बनाए रखने, और इस्तेमाल करने का तरीका जानने के लिए Assistant API से बात करने के लिए डिवाइस.
इन गाइड पर काम करते समय इनका इस्तेमाल करें:
- OAuth का दायरा: https://www.googleapis.com/auth/assistant-sdk-prototype
इस्तेमाल किए जा सकने वाले OAuth फ़्लो:
- (सुझाया गया) इंस्टॉल किए गए ऐप्लिकेशन
- वेब सर्वर ऐप्लिकेशन
निजता और सुरक्षा के लिए सबसे सही तरीके देखें देखें.
OAuth टोकन से अपने gRPC कनेक्शन की पुष्टि करें
आखिर में, टोकन की मदद से पेमेंट करने का तरीका पढ़कर सभी हिस्सों को एक साथ रखें पुष्टि करने के लिए, Assistant एपीआई से gRPC कनेक्शन की पुष्टि करें.
अपना डिवाइस रजिस्टर करें
अपने डिवाइस के मॉडल और इंस्टेंस को मैन्युअल तरीके से रजिस्टर करें या रजिस्ट्रेशन टूल की मदद से (उपलब्ध है Python में देखें).
Assistant के साथ बातचीत का सामान्य डायलॉग लागू करें
- दो-तरफ़ा स्ट्रीमिंग gRPC क्लाइंट लागू करें को लोड करने के लिए, 'Google Assistant सेवा एपीआई' का इस्तेमाल करें.
- उपयोगकर्ता द्वारा नया अनुरोध ट्रिगर किए जाने की इंतज़ार करें (उदा., GPIO रुकावट की इंतज़ार करें बटन दबाने से).
AssistRequest
भेजेंconfig
फ़ील्ड सेट वाला मैसेज (AssistConfig
देखें). पक्का करें किconfig
फ़ील्ड में ये शामिल हों:audio_in_config
फ़ील्ड, जो प्रोसेस करने का तरीका बताता हैaudio_in
डेटा, बाद के अनुरोधों में दिया जाएगा (AudioInConfig
देखें).audio_out_config
फ़ील्ड, जो सर्वर का इस्तेमाल तब करना चाहिए, जब वहaudio_out
मैसेज दिखाता हो (AudioOutConfig
देखें).device_config
फ़ील्ड, जो रजिस्टर किया गया डिवाइस Assistant से जोड़ा गया है (DeviceConfig
देखें).dialog_state_in
फ़ील्ड, जिसमेंlanguage_code
शामिल होता है अनुरोध से जुड़ी है (देखेंDialogStateIn
).
रिकॉर्डिंग शुरू करें.
एक से ज़्यादा आउटगोइंग
AssistRequest
भेजेंaudio_in
फ़ील्ड में बोलकर की गई क्वेरी के ऑडियो डेटा वाले मैसेज.इनकमिंग
AssistResponse
को मैनेज करना मैसेज.AssistResponse
से बातचीत का मेटाडेटा निकालें दिखाई देगा. उदाहरण के लिए,dialog_state_out
से,conversation_state
पाएं औरvolume_percentage
(DialogStateOut
देखें).AssistResponse
मिलने पर रिकॉर्डिंग बंद करेंevent_type
के साथEND_OF_UTTERANCE
का.audio_out
से मिले ऑडियो डेटा के साथ, Assistant के जवाब का ऑडियो चलाएं फ़ील्ड में डालें.पहले से निकाले गए
conversation_state
को कॉपी करें और उसे कॉपी करेंDialogStateIn
में अगलेAssistRequest
के लिएAssistConfig
में मैसेज.
इसके साथ ही, आप Google से पहली बार अनुरोध करने के लिए तैयार हो जाएँ अपने डिवाइस से Assistant का इस्तेमाल करें.
डिवाइस की खास सुविधाओं के लिए कार्रवाइयों की मदद से, बातचीत के डायलॉग बॉक्स को बड़ा करना
यूनीक हार्डवेयर को ट्रिगर करने के लिए, ऊपर दिए गए बेसिक बातचीत के डायलॉग को बड़ा करें आपके डिवाइस की क्षमताएँ:
- आने वाले
AssistResponse
में मैसेज,device_action
फ़ील्ड को निकालें (देखेंDeviceAction
). device_request_json
फ़ील्ड के JSON पेलोड को पार्स करें. देखें डिवाइस की विशेषताएं पेज इस्तेमाल किए जा सकने वाले Trait की सूची. हर Trait स्कीमा पेज, एक सैंपल EXECUTE दिखाता है डिवाइस कमांड और पैरामीटर के साथ अनुरोध JSON पेलोड.
उपयोगकर्ता के अनुरोध की ट्रांसक्रिप्ट पाना
अगर आपके डिवाइस के साथ कोई डिसप्ले जुड़ा है, तो हो सकता है कि आप उसका इस्तेमाल इन कामों के लिए करना चाहें
उपयोगकर्ता का अनुरोध दिखाएं. यह ट्रांसक्रिप्ट पाने के लिए, speech_results
फ़ील्ड को पार्स करें
AssistResponse
में
मैसेज. बोली पहचान पूरी हो जाने पर, इस सूची में एक आइटम शामिल होगा
और stability
1.0 पर सेट हो.
Assistant के जवाब का टेक्स्ट और/या विज़ुअल रेंडरिंग पाना
अगर आपके डिवाइस के साथ कोई डिसप्ले जुड़ा है, तो हो सकता है कि आप उसका इस्तेमाल इन कामों के लिए करना चाहें
उपयोगकर्ता के अनुरोध पर दिया गया Assistant का सादा टेक्स्ट दिखाता है. यह टेक्स्ट स्थित है
DialogStateOut.supplemental_display_text
में
फ़ील्ड में डालें.
Assistant, कुछ क्वेरी (क्या) के लिए HTML5 के ज़रिए विज़ुअल रिस्पॉन्स
क्या माउंट आबू का मौसम है? या इस समय क्या होगा?). इसे चालू करने के लिए,
AssistConfig
में screen_out_config
फ़ील्ड.
ScreenOutConfig
संदेश में screen_mode
फ़ील्ड है जिसे PLAYING
पर सेट किया जाना चाहिए.
AssistResponse
तो मैसेज में screen_out
फ़ील्ड सेट हो जाएगा. HTML5 डेटा (अगर मौजूद हो) को एक्सट्रैक्ट किया जा सकता है
data
फ़ील्ड.
टेक्स्ट इनपुट की मदद से क्वेरी सबमिट करना
अगर आपके डिवाइस से टेक्स्ट इंटरफ़ेस (उदाहरण के लिए, कीबोर्ड) जुड़ा है, तो
config
फ़ील्ड में text_query
फ़ील्ड को सेट करें (AssistConfig
देखें).
audio_in_config
फ़ील्ड को सेट न करें.
समस्या का हल
समस्या का हल देखें पेज पर जाएं.