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 শংসাপত্র তৈরি করতে অনুমোদন টুল ব্যবহার করতে পারেন।
শংসাপত্রগুলি তৈরি করতে নিম্নলিখিতগুলি করুন:
সিস্টেম 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
পতাকাটি সরান (একটি 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 সুযোগ: https://www.googleapis.com/auth/assistant-sdk-prototype
সমর্থিত OAuth প্রবাহ:
- (প্রস্তাবিত) ইনস্টল করা অ্যাপ
- ওয়েব সার্ভার অ্যাপ্লিকেশন
কীভাবে আপনার ডিভাইস সুরক্ষিত করতে হয় সে বিষয়ে সুপারিশের জন্য গোপনীয়তা এবং নিরাপত্তার সর্বোত্তম অনুশীলনগুলি দেখুন।
OAuth টোকেনগুলির সাথে আপনার gRPC সংযোগ প্রমাণীকরণ করুন৷
অবশেষে, সহকারী API-এ gRPC সংযোগ প্রমাণীকরণের জন্য Google-এর সাথে টোকেন-ভিত্তিক প্রমাণীকরণ কীভাবে ব্যবহার করতে হয় তা পড়ে সমস্ত টুকরো একসাথে রাখুন।
আপনার ডিভাইস নিবন্ধন করুন
আপনার ডিভাইসের মডেল এবং ইনস্ট্যান্স ম্যানুয়ালি বা রেজিস্ট্রেশন টুলের সাথে নিবন্ধন করুন (পাইথনে উপলব্ধ)।
সহকারীর সাথে একটি প্রাথমিক কথোপকথন ডায়ালগ প্রয়োগ করুন
- Google সহকারী পরিষেবা API-এর জন্য একটি দ্বিমুখী স্ট্রিমিং gRPC ক্লায়েন্ট প্রয়োগ করুন।
- ব্যবহারকারীর একটি নতুন অনুরোধ ট্রিগার করার জন্য অপেক্ষা করুন (উদাহরণস্বরূপ, একটি বোতাম প্রেস থেকে GPIO বাধার জন্য অপেক্ষা করুন)।
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
দেখুন)।
-
রেকর্ডিং শুরু করুন।
audio_in
ক্ষেত্রে কথ্য ক্যোয়ারী থেকে অডিও ডেটা সহ একাধিক বহির্গামীAssistRequest
বার্তা পাঠান।ইনকামিং
AssistResponse
বার্তাগুলি পরিচালনা করুন।AssistResponse
মেসেজ থেকে কথোপকথনের মেটাডেটা বের করুন। উদাহরণস্বরূপ,dialog_state_out
থেকে,conversation_state
এবংvolume_percentage
পান (DialogStateOut
দেখুন)।END_OF_UTTERANCE
এর একটিevent_type
সহ একটিAssistResponse
পাওয়ার সময় রেকর্ড করা বন্ধ করুন।audio_out
ফিল্ড থেকে আসা অডিও ডেটা সহ সহকারী উত্তর থেকে অডিও প্লে ব্যাক করুন।আপনি আগে যে
conversation_state
বের করেছেন তা নিন এবং পরবর্তীAssistRequest
জন্যAssistConfig
এDialogStateIn
বার্তায় অনুলিপি করুন।
এটির সাথে, আপনার ডিভাইসের মাধ্যমে Google সহকারীকে আপনার প্রথম অনুরোধ করার জন্য প্রস্তুত হওয়া উচিত।
ডিভাইস ক্রিয়াগুলির সাথে একটি কথোপকথন ডায়ালগ প্রসারিত করুন৷
আপনার নির্দিষ্ট ডিভাইসের অনন্য হার্ডওয়্যার ক্ষমতা ট্রিগার করতে উপরের মৌলিক কথোপকথন ডায়ালগটি প্রসারিত করুন:
- ইনকামিং
AssistResponse
বার্তাগুলিতে,device_action
ক্ষেত্রটি বের করুন (DeviceAction
দেখুন)। -
device_request_json
ক্ষেত্রের JSON পেলোড পার্স করুন। সমর্থিত বৈশিষ্ট্যের তালিকার জন্য ডিভাইস বৈশিষ্ট্য পৃষ্ঠাটি পড়ুন। প্রতিটি বৈশিষ্ট্য স্কিমা পৃষ্ঠা JSON পেলোডে ফিরে আসা ডিভাইস কমান্ড(গুলি) এবং প্যারামিটার সহ একটি নমুনা এক্সিকিউটি অনুরোধ দেখায়।
ব্যবহারকারীর অনুরোধের প্রতিলিপি পান
আপনার যদি ডিভাইসের সাথে একটি ডিসপ্লে সংযুক্ত থাকে তবে আপনি ব্যবহারকারীর অনুরোধ দেখানোর জন্য এটি ব্যবহার করতে চাইতে পারেন। এই ট্রান্সক্রিপ্টটি পেতে, AssistResponse
মেসেজে speech_results
ক্ষেত্রটি পার্স করুন। যখন বক্তৃতা শনাক্তকরণ সম্পূর্ণ হয়, এই তালিকায় stability
1.0 সেট সহ একটি আইটেম থাকবে।
সহকারীর প্রতিক্রিয়ার পাঠ্য এবং/অথবা ভিজ্যুয়াল রেন্ডারিং পান
আপনার যদি ডিভাইসের সাথে একটি ডিসপ্লে সংযুক্ত থাকে, তাহলে আপনি ব্যবহারকারীর অনুরোধে সহকারীর প্লেইন টেক্সট প্রতিক্রিয়া দেখানোর জন্য এটি ব্যবহার করতে চাইতে পারেন। এই পাঠ্যটি DialogStateOut.supplemental_display_text
ফিল্ডে অবস্থিত।
অ্যাসিস্ট্যান্ট কিছু প্রশ্নের জন্য HTML5 এর মাধ্যমে ভিজ্যুয়াল প্রতিক্রিয়া সমর্থন করে ( মাউন্টেন ভিউতে আবহাওয়া কী? বা কয়টা বাজে? )। এটি সক্ষম করতে, AssistConfig
এ screen_out_config
ক্ষেত্র সেট করুন। ScreenOutConfig
বার্তাটিতে ফিল্ড screen_mode
আছে যা PLAYING
এ সেট করা উচিত।
AssistResponse
বার্তাগুলি তখন ফিল্ড screen_out
সেট থাকবে। আপনি data
ক্ষেত্র থেকে HTML5 ডেটা (যদি উপস্থিত থাকে) বের করতে পারেন।
টেক্সট ইনপুট মাধ্যমে প্রশ্ন জমা
আপনার যদি ডিভাইসের সাথে একটি পাঠ্য ইন্টারফেস (উদাহরণস্বরূপ, একটি কীবোর্ড) সংযুক্ত থাকে, তাহলে config
ক্ষেত্রে text_query
ক্ষেত্রটি সেট করুন ( AssistConfig
দেখুন)। audio_in_config
ক্ষেত্র সেট করবেন না।
সমস্যা সমাধান
আপনি সমস্যায় পড়লে সমস্যা সমাধানের পৃষ্ঠাটি দেখুন।