Ikuti petunjuk di setiap bagian di bawah ini untuk mengintegrasikan Asisten Google ke dalam proyek Anda.
Binding gRPC
Layanan Asisten Google dibuat berdasarkan gRPC, yakni lebih lanjut, framework RPC open source. Kerangka kerja ini cocok untuk streaming audio dua arah.
Python
Jika Anda menggunakan Python, mulailah menggunakan panduan ini.
C++
Lihat contoh C++ kami di GitHub.
Node.js
Lihat contoh Node.js kami di GitHub.
Android Things
Tertarik dengan perangkat tersemat? Lihat Assistant SDK contoh untuk Android Things.
Bahasa lainnya
- Meng-clone repositori googleapis untuk mendapatkan definisi antarmuka buffering protokol untuk Google Assistant Service API.
- Ikuti dokumentasi gRPC untuk membuat gRPC binding untuk bahasa pilihan Anda
- Ikuti langkah-langkah di bagian bawah ini.
Memberi otorisasi dan mengautentikasi Akun Google Anda untuk bekerja dengan Asisten
Langkah berikutnya adalah mengizinkan perangkat Anda untuk berbicara dengan Asisten Google menggunakan Akun Google Anda.
Mendapatkan token OAuth dengan cakupan Assistant SDK
SDK Asisten menggunakan token akses OAuth 2.0 untuk mengizinkan perangkat Anda untuk terhubung dengan Asisten.
Saat membuat prototipe, Anda dapat menggunakan alat otorisasi untuk membuat OAuth2.0 dengan mudah
kredensial dari file client_secret_<client-id>.json
yang dihasilkan saat
mendaftarkan model perangkat Anda.
Lakukan hal berikut untuk membuat kredensial:
Menggunakan lingkungan virtual Python untuk mengisolasi alat otorisasi dan dependensinya dari paket Python sistem.
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
Instal alat otorisasi:
python -m pip install --upgrade google-auth-oauthlib[tool]
Jalankan alat. Hapus flag
--headless
jika Anda menjalankannya dari terminal di perangkat (bukan sesi SSH):google-oauthlib-tool --client-secrets /path/to/client_secret_client-id.json --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless
Setelah Anda siap mengintegrasikan otorisasi sebagai bagian dari penyediaan perangkat Anda, baca panduan kami untuk Menggunakan OAuth 2.0 untuk Mengakses Google API untuk memahami cara mendapatkan, mempertahankan, dan menggunakan token akses OAuth guna mengizinkan perangkat untuk berbicara dengan API Asisten.
Gunakan hal berikut saat mengikuti panduan ini:
- Cakupan OAuth: https://www.googleapis.com/auth/assistant-sdk-prototype
Alur OAuth yang didukung:
- (Direkomendasikan) Aplikasi terinstal
- Aplikasi server web
Lihat praktik terbaik tentang privasi dan keamanan untuk mendapatkan rekomendasi tentang cara mengamankan perangkat.
Mengautentikasi koneksi gRPC dengan token OAuth
Terakhir, gabungkan semua bagian dengan membaca cara menggunakan solusi berbasis token autentikasi dengan Google untuk mengautentikasi koneksi gRPC ke Assistant API.
Daftarkan perangkat Anda
Mendaftarkan model dan instance perangkat secara manual atau dengan alat pendaftaran (tersedia di Python).
Mengimplementasikan dialog percakapan dasar dengan Asisten
- Menerapkan klien gRPC streaming dua arah untuk Google Assistant Service API.
- Menunggu hingga pengguna memicu permintaan baru (misalnya, menunggu interupsi GPIO dengan menekan tombol).
Mengirim
AssistRequest
pesan dengan kolomconfig
ditetapkan (lihatAssistConfig
). Pastikan kolomconfig
berisi hal berikut:- Kolom
audio_in_config
, yang menentukan cara memprosesaudio_in
data yang akan diberikan dalam permintaan berikutnya (lihatAudioInConfig
). - Kolom
audio_out_config
, yang menentukan format yang diinginkan untuk yang akan digunakan saat menampilkan pesanaudio_out
(lihatAudioOutConfig
). - Kolom
device_config
, yang mengidentifikasi perangkat yang terdaftar ke Asisten (lihatDeviceConfig
). - Kolom
dialog_state_in
, yang berisilanguage_code
yang terkait dengan permintaan (lihatDialogStateIn
).
- Kolom
Mulai merekam.
Mengirim beberapa
AssistRequest
keluar pesan dengan data audio dari kueri yang diucapkan di bidangaudio_in
.Menangani
AssistResponse
yang masuk membuat pesan teks.Mengekstrak metadata percakapan dari
AssistResponse
untuk membuat pesan email baru. Misalnya, daridialog_state_out
, dapatkanconversation_state
danvolume_percentage
(lihatDialogStateOut
).Berhenti merekam saat menerima
AssistResponse
denganevent_type
dariEND_OF_UTTERANCE
.Putar audio dari jawaban Asisten dengan data audio yang berasal dari
audio_out
kolom tersebut.Ambil
conversation_state
yang Anda ekstrak sebelumnya dan salin keDialogStateIn
pesan diAssistConfig
untukAssistRequest
berikutnya.
Dengan demikian, Anda harus siap untuk membuat permintaan pertama Anda ke Asisten melalui perangkat Anda.
Memperluas dialog percakapan dengan Tindakan Perangkat
Perluas dialog percakapan dasar di atas untuk memicu hardware unik kemampuan perangkat tertentu Anda:
- Dalam
AssistResponse
yang masuk pesan, ekstrak kolomdevice_action
(lihatDeviceAction
). - Uraikan payload JSON kolom
device_request_json
. Lihat Sifat Perangkat untuk daftar karakteristik yang didukung. Setiap halaman skema trait menunjukkan contoh EXECUTE permintaan dengan perintah perangkat dan parameter yang dikembalikan dalam payload JSON.
Mendapatkan transkrip permintaan pengguna
Jika memiliki layar yang terpasang ke perangkat, Anda dapat menggunakannya untuk
menampilkan permintaan pengguna. Untuk mendapatkan transkrip ini, uraikan kolom speech_results
di AssistResponse
membuat pesan teks. Setelah pengenalan ucapan selesai, daftar ini akan berisi satu item
dengan stability
yang ditetapkan ke 1.0.
Mendapatkan rendering teks dan/atau visual respons Asisten
Jika memiliki layar yang terpasang ke perangkat, Anda dapat menggunakannya untuk
menampilkan respons teks biasa Asisten terhadap permintaan pengguna. Teks ini terletak
di DialogStateOut.supplemental_display_text
kolom tersebut.
Asisten mendukung respons visual melalui HTML5 untuk kueri tertentu (Apa
apakah cuaca di Jakarta? atau Pukul berapa sekarang?). Untuk mengaktifkannya, setel
kolom screen_out_config
di AssistConfig
.
ScreenOutConfig
pesan memiliki kolom screen_mode
yang harus ditetapkan ke PLAYING
.
AssistResponse
pesan akan memiliki kolom screen_out
yang disetel. Anda dapat mengekstrak data HTML5 (jika ada) dari
Kolom data
.
Mengirimkan kueri melalui input teks
Jika Anda memiliki antarmuka teks (misalnya, {i>keyboard<i}) yang melekat pada perangkat,
Tetapkan kolom text_query
di kolom config
(lihat AssistConfig
).
Jangan setel kolom audio_in_config
.
Pemecahan masalah
Lihat Pemecahan masalah jika Anda mengalami masalah.