Mengintegrasikan Asisten ke dalam Project Anda (Bahasa Lainnya)

Ikuti petunjuk di setiap bagian di bawah ini untuk mengintegrasikan Asisten Google ke dalam project Anda.

Binding gRPC

Layanan Asisten Google dibuat berdasarkan gRPC, framework RPC open source berperforma tinggi. Framework ini sangat 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 contoh Asisten SDK untuk Android Things.

Bahasa lainnya

Mengizinkan dan mengautentikasi Akun Google Anda agar berfungsi dengan Asisten

Langkah berikutnya adalah mengizinkan perangkat untuk berbicara dengan Asisten Google menggunakan Akun Google Anda.

Mendapatkan token OAuth dengan cakupan SDK Asisten

SDK Asisten menggunakan token akses OAuth 2.0 untuk mengizinkan perangkat Anda terhubung dengan Asisten.

Saat membuat prototipe, Anda dapat menggunakan alat otorisasi untuk membuat kredensial OAuth2.0 dengan mudah dari file client_secret_<client-id>.json yang dihasilkan saat mendaftarkan model perangkat.

Lakukan hal berikut untuk membuat kredensial:

  1. Gunakan 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 menjalankan ini 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
    

Jika Anda sudah siap untuk mengintegrasikan otorisasi sebagai bagian dari mekanisme penyediaan perangkat, baca panduan kami untuk Menggunakan OAuth 2.0 untuk Mengakses Google API guna memahami cara mendapatkan, mempertahankan, dan menggunakan token akses OAuth untuk memungkinkan perangkat Anda berbicara dengan Assistant API.

Gunakan hal berikut saat mempelajari panduan ini:

Lihat praktik terbaik tentang privasi dan keamanan untuk mendapatkan rekomendasi cara mengamankan perangkat.

Mengautentikasi koneksi gRPC Anda dengan token OAuth

Terakhir, gabungkan semua bagian dengan membaca cara menggunakan autentikasi berbasis token dengan Google untuk mengautentikasi koneksi gRPC ke Assistant API.

Daftarkan perangkat Anda

Daftarkan model dan instance perangkat Anda secara manual atau dengan alat pendaftaran (tersedia di Python).

Mengimplementasikan dialog percakapan dasar dengan Asisten

  1. Implementasikan klien gRPC streaming dua arah untuk Google Assistant Service API.
  2. Tunggu hingga pengguna memicu permintaan baru (misalnya, tunggu interupsi GPIO dari penekanan tombol).
  3. Kirim pesan AssistRequest dengan kolom config yang ditetapkan (lihat AssistConfig). Pastikan kolom config berisi hal berikut:

    • Kolom audio_in_config, yang menentukan cara memproses data audio_in yang akan diberikan dalam permintaan berikutnya (lihat AudioInConfig).
    • Kolom audio_out_config, yang menentukan format yang diinginkan untuk digunakan server 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. Kirim beberapa pesan AssistRequest keluar dengan data audio dari kueri lisan di kolom audio_in.

  6. Menangani pesan AssistResponse masuk.

  7. Ekstrak metadata percakapan dari pesan AssistResponse. 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 kolom audio_out.

  10. Ambil conversation_state yang Anda ekstrak sebelumnya, lalu salin ke pesan DialogStateIn di AssistConfig untuk AssistRequest berikutnya.

Dengan ini, Anda harus siap membuat permintaan pertama ke Asisten Google melalui perangkat.

Memperluas dialog percakapan dengan Tindakan Perangkat

Perluas dialog percakapan dasar di atas untuk memicu kemampuan hardware unik dari perangkat tertentu Anda:

  1. Pada pesan AssistResponse yang masuk, ekstrak kolom device_action (lihat DeviceAction).
  2. Uraikan payload JSON kolom device_request_json. Lihat halaman Karakteristik Perangkat untuk daftar Trait yang didukung. Setiap halaman skema karakteristik menampilkan contoh permintaan EXECUTE dengan perintah perangkat dan parameter yang ditampilkan dalam payload JSON.

Mendapatkan transkrip permintaan pengguna

Jika memiliki layar yang terpasang ke perangkat, Anda mungkin ingin menggunakannya untuk menampilkan permintaan pengguna. Untuk mendapatkan transkrip ini, uraikan kolom speech_results dalam pesan AssistResponse. Saat pengenalan ucapan selesai, daftar ini akan berisi satu item dengan stability yang ditetapkan ke 1.0.

Mendapatkan rendering teks dan/atau visual dari respons Asisten

Jika memiliki layar yang terpasang ke perangkat, Anda mungkin ingin menggunakannya untuk menampilkan respons teks biasa Asisten terhadap permintaan pengguna. Teks ini terletak di kolom DialogStateOut.supplemental_display_text.

Asisten mendukung respons visual melalui HTML5 untuk kueri tertentu (Bagaimana cuaca di Jakarta? atau Pukul berapa sekarang?). Untuk mengaktifkannya, tetapkan kolom screen_out_config di AssistConfig. Pesan ScreenOutConfig memiliki kolom screen_mode yang harus ditetapkan ke PLAYING.

Pesan AssistResponse kemudian akan memiliki kolom screen_out yang ditetapkan. Anda dapat mengekstrak data HTML5 (jika ada) dari kolom data.

Mengirimkan kueri melalui input teks

Jika Anda memiliki antarmuka teks (misalnya, keyboard) yang terpasang ke perangkat, tetapkan kolom text_query di kolom config (lihat AssistConfig). Jangan tetapkan kolom audio_in_config.

Pemecahan masalah

Lihat halaman Pemecahan masalah jika Anda mengalami masalah.