Mengintegrasikan Asisten ke dalam Project Anda (Bahasa Lainnya)

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

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:

  1. 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
    
  2. Instal alat otorisasi:

    python -m pip install --upgrade google-auth-oauthlib[tool]
  3. 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:

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

  1. Menerapkan klien gRPC streaming dua arah untuk Google Assistant Service API.
  2. Menunggu hingga pengguna memicu permintaan baru (misalnya, menunggu interupsi GPIO dengan menekan tombol).
  3. Mengirim AssistRequest pesan dengan kolom config ditetapkan (lihat AssistConfig). Pastikan kolom config berisi hal berikut:

    • Kolom audio_in_config, yang menentukan cara memproses audio_in data yang akan diberikan dalam permintaan berikutnya (lihat AudioInConfig).
    • Kolom audio_out_config, yang menentukan format yang diinginkan untuk yang akan digunakan saat menampilkan pesan audio_out (lihat AudioOutConfig).
    • Kolom device_config, yang mengidentifikasi perangkat yang terdaftar ke Asisten (lihat DeviceConfig).
    • Kolom dialog_state_in, yang berisi language_code yang terkait dengan permintaan (lihat DialogStateIn).
  4. Mulai merekam.

  5. Mengirim beberapa AssistRequest keluar pesan dengan data audio dari kueri yang diucapkan di bidang audio_in.

  6. Menangani AssistResponse yang masuk membuat pesan teks.

  7. Mengekstrak metadata percakapan dari AssistResponse untuk membuat pesan email baru. Misalnya, dari dialog_state_out, dapatkan conversation_state dan volume_percentage (lihat DialogStateOut).

  8. Berhenti merekam saat menerima AssistResponse dengan event_type dari END_OF_UTTERANCE.

  9. Putar audio dari jawaban Asisten dengan data audio yang berasal dari audio_out kolom tersebut.

  10. Ambil conversation_state yang Anda ekstrak sebelumnya dan salin ke DialogStateIn pesan di AssistConfig untuk AssistRequest 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:

  1. Dalam AssistResponse yang masuk pesan, ekstrak kolom device_action (lihat DeviceAction).
  2. 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.