Assistant को अपने प्रोजेक्ट में इंटिग्रेट करना (दूसरी भाषाएं)

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 फ़ाइल से क्रेडेंशियल तब जनरेट हुए, जब अपने डिवाइस का मॉडल रजिस्टर करना.

क्रेडेंशियल जनरेट करने के लिए ये करें:

  1. 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
    
  2. अनुमति देने वाला टूल इंस्टॉल करें:

    python -m pip install --upgrade google-auth-oauthlib[tool]
  3. टूल का इस्तेमाल करें. अगर आपको इसे डिवाइस के किसी टर्मिनल (एसएसएच सेशन नहीं) से चलाना है, तो --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 टोकन से अपने gRPC कनेक्शन की पुष्टि करें

आखिर में, टोकन की मदद से पेमेंट करने का तरीका पढ़कर सभी हिस्सों को एक साथ रखें पुष्टि करने के लिए, Assistant एपीआई से gRPC कनेक्शन की पुष्टि करें.

अपना डिवाइस रजिस्टर करें

अपने डिवाइस के मॉडल और इंस्टेंस को मैन्युअल तरीके से रजिस्टर करें या रजिस्ट्रेशन टूल की मदद से (उपलब्ध है Python में देखें).

Assistant के साथ बातचीत का सामान्य डायलॉग लागू करें

  1. दो-तरफ़ा स्ट्रीमिंग gRPC क्लाइंट लागू करें को लोड करने के लिए, 'Google Assistant सेवा एपीआई' का इस्तेमाल करें.
  2. उपयोगकर्ता द्वारा नया अनुरोध ट्रिगर किए जाने की इंतज़ार करें (उदा., GPIO रुकावट की इंतज़ार करें बटन दबाने से).
  3. 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).
  4. रिकॉर्डिंग शुरू करें.

  5. एक से ज़्यादा आउटगोइंग AssistRequest भेजें audio_in फ़ील्ड में बोलकर की गई क्वेरी के ऑडियो डेटा वाले मैसेज.

  6. इनकमिंग AssistResponse को मैनेज करना मैसेज.

  7. AssistResponse से बातचीत का मेटाडेटा निकालें दिखाई देगा. उदाहरण के लिए, dialog_state_out से, conversation_state पाएं और volume_percentage (DialogStateOut देखें).

  8. AssistResponse मिलने पर रिकॉर्डिंग बंद करें event_type के साथ END_OF_UTTERANCE का.

  9. audio_out से मिले ऑडियो डेटा के साथ, Assistant के जवाब का ऑडियो चलाएं फ़ील्ड में डालें.

  10. पहले से निकाले गए conversation_state को कॉपी करें और उसे कॉपी करें DialogStateIn में अगले AssistRequest के लिए AssistConfig में मैसेज.

इसके साथ ही, आप Google से पहली बार अनुरोध करने के लिए तैयार हो जाएँ अपने डिवाइस से Assistant का इस्तेमाल करें.

डिवाइस की खास सुविधाओं के लिए कार्रवाइयों की मदद से, बातचीत के डायलॉग बॉक्स को बड़ा करना

यूनीक हार्डवेयर को ट्रिगर करने के लिए, ऊपर दिए गए बेसिक बातचीत के डायलॉग को बड़ा करें आपके डिवाइस की क्षमताएँ:

  1. आने वाले AssistResponse में मैसेज, device_action फ़ील्ड को निकालें (देखें DeviceAction).
  2. 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 फ़ील्ड को सेट न करें.

समस्या का हल

समस्या का हल देखें पेज पर जाएं.