আপনার প্রকল্পে সহকারীকে সংহত করুন (অন্যান্য ভাষা)

Google অ্যাসিস্ট্যান্টকে আপনার প্রোজেক্টে সংহত করতে নিচের প্রতিটি বিভাগে নির্দেশাবলী অনুসরণ করুন।

gRPC বাইন্ডিং

Google সহকারী পরিষেবা gRPC- এর উপরে তৈরি করা হয়েছে, একটি উচ্চ কর্মক্ষমতা, ওপেন-সোর্স RPC ফ্রেমওয়ার্ক। এই ফ্রেমওয়ার্কটি দ্বিমুখী অডিও স্ট্রিমিংয়ের জন্য উপযুক্ত।

পাইথন

আপনি যদি পাইথন ব্যবহার করেন তবে এই নির্দেশিকাটি ব্যবহার করা শুরু করুন।

সি++

GitHub-এ আমাদের C++ নমুনা দেখুন।

Node.js

GitHub এ আমাদের Node.js নমুনা দেখুন।

অ্যান্ড্রয়েড জিনিস

এমবেডেড ডিভাইসে আগ্রহী? Android জিনিসগুলির জন্য সহকারী SDK নমুনা দেখুন।

অন্যান্য ভাষাসমূহ

  • Google সহকারী পরিষেবা API- এর জন্য প্রোটোকল বাফার ইন্টারফেস সংজ্ঞা পেতে googleapis সংগ্রহস্থল ক্লোন করুন।
  • আপনার পছন্দের ভাষার জন্য gRPC বাইন্ডিং তৈরি করতে gRPC ডকুমেন্টেশন অনুসরণ করুন
  • নীচের বিভাগে ধাপগুলি অনুসরণ করুন.

সহকারীর সাথে কাজ করার জন্য আপনার Google অ্যাকাউন্টকে অনুমোদন এবং প্রমাণীকরণ করুন

পরবর্তী পদক্ষেপটি হল আপনার Google অ্যাকাউন্ট ব্যবহার করে Google সহায়কের সাথে কথা বলার জন্য আপনার ডিভাইসটিকে অনুমোদন করা।

সহকারী SDK স্কোপের সাথে OAuth টোকেন পান

অ্যাসিস্ট্যান্ট SDK আপনার ডিভাইসটিকে অ্যাসিস্ট্যান্টের সাথে সংযোগ করার অনুমতি দিতে OAuth 2.0 অ্যাক্সেস টোকেন ব্যবহার করে।

প্রোটোটাইপ করার সময়, আপনি আপনার ডিভাইস মডেল নিবন্ধন করার সময় client_secret_<client-id>.json ফাইল থেকে সহজেই OAuth2.0 শংসাপত্র তৈরি করতে অনুমোদন টুল ব্যবহার করতে পারেন।

শংসাপত্রগুলি তৈরি করতে নিম্নলিখিতগুলি করুন:

  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 পতাকাটি সরান (একটি SSH সেশন নয়):

    google-oauthlib-tool --client-secrets /path/to/client_secret_client-id.json --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless
    

আপনি যখন আপনার ডিভাইসের প্রভিশনিং মেকানিজমের অংশ হিসাবে অনুমোদনকে একীভূত করতে প্রস্তুত হন, তখন আপনার ডিভাইসকে অ্যাসিস্ট্যান্টের সাথে কথা বলার অনুমতি দেওয়ার জন্য কীভাবে OAuth অ্যাক্সেস টোকেন পেতে, বজায় রাখতে এবং ব্যবহার করতে হবে তা বুঝতে Google API অ্যাক্সেস করতে OAuth 2.0 ব্যবহার করার জন্য আমাদের গাইড পড়ুন API

এই নির্দেশিকাগুলির মাধ্যমে কাজ করার সময় নিম্নলিখিতগুলি ব্যবহার করুন:

কীভাবে আপনার ডিভাইস সুরক্ষিত করতে হয় সে বিষয়ে সুপারিশের জন্য গোপনীয়তা এবং নিরাপত্তার সর্বোত্তম অনুশীলনগুলি দেখুন।

OAuth টোকেনগুলির সাথে আপনার gRPC সংযোগ প্রমাণীকরণ করুন৷

অবশেষে, সহকারী API-এ gRPC সংযোগ প্রমাণীকরণের জন্য Google-এর সাথে টোকেন-ভিত্তিক প্রমাণীকরণ কীভাবে ব্যবহার করতে হয় তা পড়ে সমস্ত টুকরো একসাথে রাখুন।

আপনার ডিভাইস নিবন্ধন করুন

আপনার ডিভাইসের মডেল এবং ইনস্ট্যান্স ম্যানুয়ালি বা রেজিস্ট্রেশন টুলের সাথে নিবন্ধন করুন (পাইথনে উপলব্ধ)।

সহকারীর সাথে একটি প্রাথমিক কথোপকথন ডায়ালগ প্রয়োগ করুন

  1. Google সহকারী পরিষেবা API-এর জন্য একটি দ্বিমুখী স্ট্রিমিং gRPC ক্লায়েন্ট প্রয়োগ করুন।
  2. ব্যবহারকারীর একটি নতুন অনুরোধ ট্রিগার করার জন্য অপেক্ষা করুন (উদাহরণস্বরূপ, একটি বোতাম প্রেস থেকে GPIO বাধার জন্য অপেক্ষা করুন)।
  3. config ফিল্ড সেট সহ একটি AssistRequest বার্তা পাঠান ( AssistConfig দেখুন)। config ফিল্ডে নিম্নলিখিতগুলি রয়েছে তা নিশ্চিত করুন:

    • audio_in_config ক্ষেত্র, যা পরবর্তী অনুরোধে সরবরাহ করা audio_in ডেটা কীভাবে প্রক্রিয়া করতে হবে তা নির্দিষ্ট করে (দেখুন AudioInConfig )।
    • audio_out_config ক্ষেত্র, যা audio_out বার্তা ফেরত দেওয়ার সময় সার্ভারের ব্যবহার করার জন্য পছন্দসই বিন্যাসটি নির্দিষ্ট করে (দেখুন AudioOutConfig )।
    • device_config ক্ষেত্র, যা সহকারীর কাছে নিবন্ধিত ডিভাইসটিকে সনাক্ত করে ( DeviceConfig দেখুন)।
    • dialog_state_in ক্ষেত্র, যাতে অনুরোধের সাথে যুক্ত language_code থাকে ( DialogStateIn দেখুন)।
  4. রেকর্ড শুরু কর.

  5. audio_in ক্ষেত্রে কথ্য ক্যোয়ারী থেকে অডিও ডেটা সহ একাধিক বহির্গামী AssistRequest বার্তা পাঠান।

  6. ইনকামিং AssistResponse বার্তাগুলি পরিচালনা করুন।

  7. AssistResponse মেসেজ থেকে কথোপকথনের মেটাডেটা বের করুন। উদাহরণস্বরূপ, dialog_state_out থেকে, conversation_state এবং volume_percentage পান ( DialogStateOut দেখুন)।

  8. END_OF_UTTERANCE এর একটি event_type সহ একটি AssistResponse পাওয়ার সময় রেকর্ড করা বন্ধ করুন।

  9. audio_out ফিল্ড থেকে আসা অডিও ডেটা সহ সহকারী উত্তর থেকে অডিও প্লে ব্যাক করুন।

  10. আপনি আগে conversation_state বের করেছেন তা নিন এবং পরবর্তী AssistRequest এর জন্য AssistConfigDialogStateIn বার্তায় অনুলিপি করুন।

এটির সাথে, আপনার ডিভাইসের মাধ্যমে Google সহকারীকে আপনার প্রথম অনুরোধ করার জন্য প্রস্তুত হওয়া উচিত।

ডিভাইস ক্রিয়াগুলির সাথে একটি কথোপকথন ডায়ালগ প্রসারিত করুন৷

আপনার নির্দিষ্ট ডিভাইসের অনন্য হার্ডওয়্যার ক্ষমতা ট্রিগার করতে উপরের মৌলিক কথোপকথন ডায়ালগটি প্রসারিত করুন:

  1. ইনকামিং AssistResponse বার্তাগুলিতে, device_action ক্ষেত্রটি বের করুন ( DeviceAction দেখুন)।
  2. device_request_json ক্ষেত্রের JSON পেলোড পার্স করুন। সমর্থিত বৈশিষ্ট্যের তালিকার জন্য ডিভাইস বৈশিষ্ট্য পৃষ্ঠাটি পড়ুন। প্রতিটি বৈশিষ্ট্য স্কিমা পৃষ্ঠা JSON পেলোডে ফিরে আসা ডিভাইস কমান্ড(গুলি) এবং প্যারামিটার সহ একটি নমুনা এক্সিকিউটি অনুরোধ দেখায়।

ব্যবহারকারীর অনুরোধের প্রতিলিপি পান

আপনার যদি ডিভাইসের সাথে একটি ডিসপ্লে সংযুক্ত থাকে তবে আপনি ব্যবহারকারীর অনুরোধ দেখানোর জন্য এটি ব্যবহার করতে চাইতে পারেন। এই ট্রান্সক্রিপ্টটি পেতে, AssistResponse মেসেজে speech_results ক্ষেত্রটি পার্স করুন। যখন বক্তৃতা শনাক্তকরণ সম্পূর্ণ হয়, এই তালিকায় stability 1.0 সেট সহ একটি আইটেম থাকবে।

সহকারীর প্রতিক্রিয়ার পাঠ্য এবং/অথবা ভিজ্যুয়াল রেন্ডারিং পান

আপনার যদি ডিভাইসের সাথে একটি ডিসপ্লে সংযুক্ত থাকে, তাহলে আপনি ব্যবহারকারীর অনুরোধে সহকারীর প্লেইন টেক্সট প্রতিক্রিয়া দেখানোর জন্য এটি ব্যবহার করতে চাইতে পারেন। এই পাঠ্যটি DialogStateOut.supplemental_display_text ফিল্ডে অবস্থিত।

অ্যাসিস্ট্যান্ট কিছু প্রশ্নের জন্য HTML5 এর মাধ্যমে ভিজ্যুয়াল প্রতিক্রিয়া সমর্থন করে ( মাউন্টেন ভিউতে আবহাওয়া কী? বা কয়টা বাজে? )। এটি সক্ষম করতে, AssistConfigscreen_out_config ক্ষেত্র সেট করুন। ScreenOutConfig বার্তাটিতে ক্ষেত্র screen_mode রয়েছে যা PLAYING এ সেট করা উচিত।

AssistResponse বার্তাগুলি তখন ফিল্ড screen_out সেট থাকবে। আপনি data ক্ষেত্র থেকে HTML5 ডেটা (যদি উপস্থিত থাকে) বের করতে পারেন।

টেক্সট ইনপুট মাধ্যমে প্রশ্ন জমা

আপনার যদি ডিভাইসের সাথে একটি পাঠ্য ইন্টারফেস (উদাহরণস্বরূপ, একটি কীবোর্ড) সংযুক্ত থাকে, তাহলে config ক্ষেত্রে text_query ক্ষেত্রটি সেট করুন ( AssistConfig দেখুন)। audio_in_config ক্ষেত্র সেট করবেন না।

সমস্যা সমাধান

আপনি সমস্যায় পড়লে সমস্যা সমাধানের পৃষ্ঠাটি দেখুন।