Package google.assistant.embedded.v1alpha2

Indeks

EmbeddedAssistant

Layanan yang mengimplementasikan Google Assistant API.

Assist

rpc Assist(AssistRequest) returns (AssistResponse)

Memulai atau melanjutkan percakapan dengan Layanan Asisten tersemat. Tiap panggilan melakukan satu perjalanan bolak-balik, mengirimkan permintaan audio ke layanan, dan menerima respons audio. Menggunakan streaming dua arah untuk menerima hasil, seperti peristiwa END_OF_UTTERANCE, saat mengirim audio.

Percakapan adalah satu atau beberapa koneksi gRPC, yang masing-masing terdiri dari beberapa permintaan dan respons yang di-streaming. Misalnya, pengguna mengucapkan Tambahkan ke daftar belanja saya dan Asisten akan merespons Apa yang ingin Anda tambahkan?. Urutan permintaan dan respons yang di-streaming pada pesan gRPC pertama dapat berupa:

  • AssistRequest.config
  • AssistRequest.audio_in
  • AssistRequest.audio_in
  • AssistRequest.audio_in
  • AssistRequest.audio_in
  • AssistResponse.event_type.END_OF_UTTERANCE
  • AssistResponse.speech_results.transcript "tambahkan ke daftar belanja saya"
  • AssistResponse.dialog_state_out.microphone_mode.DIALOG_FOLLOW_ON
  • AssistResponse.audio_out
  • AssistResponse.audio_out
  • AssistResponse.audio_out

Pengguna kemudian berkata bagel dan Asisten merespons Oke, saya sudah menambahkan bagel ke daftar belanja Anda. Ini dikirim sebagai panggilan koneksi gRPC lain ke metode Assist, sekali lagi dengan permintaan dan respons yang di-streaming, seperti:

  • AssistRequest.config
  • AssistRequest.audio_in
  • AssistRequest.audio_in
  • AssistRequest.audio_in
  • AssistResponse.event_type.END_OF_UTTERANCE
  • AssistResponse.dialog_state_out.microphone_mode.CLOSE_MICROPHONE
  • AssistResponse.audio_out
  • AssistResponse.audio_out
  • AssistResponse.audio_out
  • AssistResponse.audio_out

Meskipun urutan respons yang tepat tidak dijamin, pesan AssistResponse.audio_out yang berurutan akan selalu berisi bagian audio yang berurutan.

Cakupan Otorisasi

Memerlukan cakupan OAuth berikut ini:

  • https://www.googleapis.com/auth/assistant-sdk-prototype

Untuk mengetahui informasi selengkapnya, lihat Panduan Autentikasi.

AssistConfig

Menentukan cara memproses pesan AssistRequest.

Kolom
audio_out_config

AudioOutConfig

Wajib Menentukan cara memformat audio yang akan ditampilkan.

screen_out_config

ScreenOutConfig

Opsional Menentukan format yang diinginkan untuk digunakan saat server menampilkan respons layar visual.

dialog_state_in

DialogStateIn

Wajib Mewakili status dialog saat ini.

device_config

DeviceConfig

Konfigurasi perangkat yang mengidentifikasi perangkat tertentu secara unik.

debug_config

DebugConfig

Opsional Men-debug parameter untuk seluruh RPC Assist.

Kolom union type.

type hanya dapat berupa salah satu dari berikut:

audio_in_config

AudioInConfig

Menentukan cara memproses audio masuk berikutnya. Diperlukan jika AssistRequest.audio_in byte akan diberikan dalam permintaan berikutnya.

text_query

string

Input teks yang akan dikirim ke Asisten. Kolom ini dapat diisi dari antarmuka teks jika input audio tidak tersedia.

AssistRequest

Pesan tingkat teratas yang dikirim oleh klien. Klien harus mengirim setidaknya dua pesan, dan biasanya banyak pesan AssistRequest. Pesan pertama harus berisi pesan config dan tidak boleh berisi data audio_in. Semua pesan berikutnya harus berisi data audio_in dan tidak boleh berisi pesan config.

Kolom
Kolom union type. Tepat satu dari kolom ini harus ditentukan di setiap AssistRequest. type hanya dapat berupa salah satu dari berikut:
config

AssistConfig

Pesan config memberikan informasi kepada pengenal yang menentukan cara memproses permintaan. Pesan AssistRequest pertama harus berisi pesan config.

audio_in

bytes

Data audio yang akan dikenali. Potongan data audio berurutan dikirim dalam pesan AssistRequest berurutan. Pesan AssistRequest pertama tidak boleh berisi data audio_in dan semua pesan AssistRequest berikutnya harus berisi data audio_in. Byte audio harus dienkode seperti yang ditentukan dalam AudioInConfig. Audio harus dikirim secara real time (16.000 sampel per detik). Error akan ditampilkan jika audio dikirim jauh lebih cepat atau lebih lambat.

AssistResponse

Pesan tingkat teratas yang diterima oleh klien. Rangkaian satu atau beberapa pesan AssistResponse akan di-streaming kembali ke klien.

Kolom
event_type

EventType

Hanya output Menunjukkan jenis peristiwa.

audio_out

AudioOut

Hanya output Audio yang berisi respons Asisten terhadap kueri.

screen_out

ScreenOut

Hanya output Berisi respons visual Asisten terhadap kueri.

device_action

DeviceAction

Output-only Berisi tindakan yang dipicu oleh kueri dengan payload dan penguraian semantik yang sesuai.

speech_results[]

SpeechRecognitionResult

Hanya output Daftar berulang ini berisi nol atau beberapa hasil pengenalan ucapan yang sesuai dengan bagian berturut-turut dari audio yang sedang diproses, dimulai dengan bagian yang sesuai dengan audio paling awal (dan bagian paling stabil) hingga bagian yang sesuai dengan audio terbaru. String dapat digabungkan untuk melihat respons lengkap yang sedang berlangsung. Saat pengenalan ucapan selesai, daftar ini akan berisi satu item dengan stability 1.0.

dialog_state_out

DialogStateOut

Output-saja Berisi output yang terkait dengan kueri pengguna.

debug_info

DebugInfo

Hanya output Info proses debug untuk developer. Hanya ditampilkan jika permintaan menetapkan return_debug_info ke benar (true).

EventType

Menunjukkan jenis peristiwa.

Enum
EVENT_TYPE_UNSPECIFIED Tidak ada peristiwa yang ditetapkan.
END_OF_UTTERANCE Peristiwa ini menunjukkan bahwa server telah mendeteksi ucapan pengguna berakhir dan tidak mengharapkan ucapan tambahan. Oleh karena itu, server tidak akan memproses audio tambahan (meskipun mungkin kemudian menampilkan hasil tambahan). Klien akan berhenti mengirim data audio tambahan, menutup setengah koneksi gRPC, dan menunggu hasil tambahan hingga server menutup koneksi gRPC.

AudioInConfig

Menentukan cara memproses data audio_in yang akan diberikan dalam permintaan berikutnya. Untuk setelan yang direkomendasikan, lihat praktik terbaik SDK Asisten Google.

Kolom
encoding

Encoding

Wajib Encoding data audio yang dikirim di semua pesan audio_in.

sample_rate_hertz

int32

Wajib Frekuensi sampel (dalam Hertz) data audio yang dikirim di semua pesan audio_in. Nilai yang valid adalah dari 16000-24000, tetapi 16000 adalah nilai optimal. Untuk hasil terbaik, setel frekuensi pengambilan sampel sumber audio ke 16.000 Hz. Jika tidak memungkinkan, gunakan frekuensi sampel asli dari sumber audio (sebagai ganti pengambilan sampel ulang).

Encoding

Encoding audio dari data yang dikirim dalam pesan audio. Audio harus berupa satu saluran (mono).

Enum
ENCODING_UNSPECIFIED Tidak ditentukan. Akan menampilkan hasil google.rpc.Code.INVALID_ARGUMENT.
LINEAR16 Sampel small-endian bertanda tangan 16-bit yang tidak dikompresi (Linear PCM). Encoding ini tidak menyertakan header, hanya byte audio mentah.
FLAC FLAC (Codec Audio Non-Kehilangan Gratis) adalah encoding yang direkomendasikan karena bersifat lossless, sehingga pengenalan tidak disusupi--dan hanya memerlukan setengah bandwidth LINEAR16. Encoding ini mencakup header streaming FLAC yang diikuti dengan data audio. Namun, alat ini mendukung sampel 16-bit dan 24-bit, tetapi tidak semua kolom di STREAMINFO didukung.

AudioOut

Audio yang berisi respons Asisten terhadap kueri. Potongan data audio berurutan diterima dalam pesan AssistResponse berurutan.

Kolom
audio_data

bytes

Hanya output Data audio yang berisi respons Asisten terhadap kueri. Potongan data audio berurutan diterima dalam pesan AssistResponse berurutan.

AudioOutConfig

Menentukan format yang diinginkan untuk digunakan server saat menampilkan pesan audio_out.

Kolom
encoding

Encoding

Wajib Encoding data audio yang akan ditampilkan di semua pesan audio_out.

sample_rate_hertz

int32

Wajib Frekuensi sampel dalam Hertz data audio yang ditampilkan dalam pesan audio_out. Nilai yang valid adalah: 16000-24000.

volume_percentage

int32

Wajib Setelan volume output audio perangkat saat ini. Nilai yang valid adalah 1 hingga 100 (sesuai dengan 1% hingga 100%).

Encoding

Encoding audio dari data yang ditampilkan dalam pesan audio. Semua encoding adalah byte audio mentah tanpa header, kecuali seperti yang ditunjukkan di bawah.

Enum
ENCODING_UNSPECIFIED Tidak ditentukan. Akan menampilkan hasil google.rpc.Code.INVALID_ARGUMENT.
LINEAR16 Sampel small-endian bertanda tangan 16-bit yang tidak dikompresi (Linear PCM).
MP3 Encoding audio MP3. Frekuensi sampel dienkode dalam payload.
OPUS_IN_OGG Audio yang dienkode Opus yang digabungkan dalam container ogg. Hasilnya akan berupa file yang dapat diputar secara native di Android dan di beberapa browser (seperti Chrome). Kualitas encoding jauh lebih tinggi daripada MP3 saat menggunakan kecepatan bit yang sama. Frekuensi sampel dienkode dalam payload.

DebugConfig

Parameter proses debug untuk permintaan saat ini.

Kolom
return_debug_info

bool

Jika kolom ini ditetapkan ke benar (true), kolom debug_info di AssistResponse dapat diisi. Namun, hal ini akan meningkatkan latensi respons secara signifikan.

DebugInfo

Info debug untuk developer. Hanya ditampilkan jika permintaan menetapkan return_debug_info ke benar (true).

Kolom
aog_agent_to_assistant_json

string

Respons JSON asli dari agen Action-on-Google ke server Google. Lihat AppResponse. Kolom ini hanya akan diisi jika pembuat permintaan memiliki project AoG dan project AoG sedang dalam mode pratinjau.

DeviceAction

Respons yang dikembalikan ke perangkat jika pengguna telah memicu Action Perangkat. Misalnya, perangkat yang mendukung kueri Turn on the light akan menerima DeviceAction dengan payload JSON yang berisi semantik permintaan.

Kolom
device_request_json

string

JSON berisi respons perintah perangkat yang dihasilkan dari tata bahasa Tindakan Perangkat yang dipicu. Format ini diberikan oleh intent action.devices.EXECUTE untuk ciri tertentu.

DeviceConfig

Wajib Kolom yang mengidentifikasi perangkat untuk Asisten.

Lihat juga:

Kolom
device_id

string

Wajib ID unik untuk perangkat. Panjang ID harus 128 karakter atau kurang. Contoh: DBCDW098234. ID ini HARUS cocok dengan device_id yang ditampilkan dari pendaftaran perangkat. device_id ini digunakan untuk mencocokkan dengan perangkat pengguna yang terdaftar guna mencari karakteristik dan kemampuan yang didukung perangkat ini. Informasi ini seharusnya tidak berubah saat mulai ulang perangkat. Namun, ID tersebut tidak boleh disimpan saat reset ke setelan pabrik.

device_model_id

string

Wajib ID unik untuk model perangkat. Kombinasi device_model_id dan device_id harus sudah pernah dikaitkan melalui pendaftaran perangkat.

DeviceLocation

Ada tiga sumber lokasi. Parameter tersebut digunakan dengan prioritas berikut:

  1. DeviceLocation ini, yang terutama digunakan untuk perangkat seluler dengan GPS .
  2. Lokasi yang ditentukan oleh pengguna selama penyiapan perangkat; ini adalah lokasi per pengguna, per perangkat. Lokasi ini digunakan jika DeviceLocation tidak ditentukan.
  3. Perkiraan lokasi berdasarkan alamat IP. Ini hanya digunakan jika tidak satu pun di atas ditentukan.
Kolom
coordinates

LatLng

Lintang dan bujur perangkat.

DialogStateIn

Memberikan informasi tentang status dialog saat ini.

Kolom
conversation_state

bytes

Wajib Kolom ini harus selalu ditetapkan ke nilai DialogStateOut.conversation_state yang ditampilkan di RPC Assist sebelumnya. Hanya boleh dihilangkan (kolom tidak ditetapkan) jika tidak ada RPC Assist sebelumnya karena ini adalah RPC Assist pertama yang dibuat oleh perangkat ini setelah penyiapan pertama kali dan/atau reset default ke setelan pabrik.

language_code

string

Wajib Bahasa permintaan dalam sintaksis IETF BCP 47 (misalnya, "en-US"). Lihat Dukungan Bahasa untuk informasi lebih lanjut. Jika Anda telah memilih bahasa untuk device_id ini menggunakan menu Setelan di aplikasi Asisten Google ponsel, pilihan tersebut akan mengganti nilai ini.

device_location

DeviceLocation

Opsional Lokasi perangkat tempat kueri berasal.

is_new_conversation

bool

Opsional Jika true (benar), server akan memperlakukan permintaan sebagai percakapan baru dan tidak menggunakan status dari permintaan sebelumnya. Setel kolom ini ke true (benar) saat percakapan harus dimulai ulang, seperti setelah reboot perangkat, atau setelah selang waktu yang signifikan sejak kueri sebelumnya.

DialogStateOut

Status dialog yang dihasilkan dari kueri pengguna. Beberapa pesan ini mungkin diterima.

Kolom
supplemental_display_text

string

Hanya output Teks tampilan tambahan dari Asisten. Hal ini bisa sama dengan ucapan yang diucapkan dalam AssistResponse.audio_out atau bisa jadi beberapa informasi tambahan yang membantu pemahaman pengguna.

conversation_state

bytes

Informasi status Hanya output untuk RPC Assist berikutnya. Nilai ini harus disimpan di klien dan ditampilkan di kolom DialogStateIn.conversation_state dengan RPC Assist berikutnya. (Klien tidak perlu menafsirkan atau menggunakan nilai ini.) Informasi ini harus disimpan saat perangkat dimulai ulang. Namun, nilai ini harus dihapus (tidak disimpan di klien) selama reset ke setelan pabrik.

microphone_mode

MicrophoneMode

Hanya output Menentukan mode mikrofon setelah RPC Assist ini diproses.

volume_percentage

int32

Hanya output Level volume yang diperbarui. Nilai akan menjadi 0 atau dihilangkan (menunjukkan tidak ada perubahan) kecuali jika perintah suara seperti Naikkan volume atau Setel level volume 4 dikenali, yang dalam hal ini nilainya akan antara 1 dan 100 (sesuai dengan level volume baru dari 1% hingga 100%). Biasanya, klien harus menggunakan tingkat volume ini saat memutar data audio_out, dan mempertahankan nilai ini sebagai tingkat volume saat ini dan menyediakannya dalam AudioOutConfig dari AssistRequest berikutnya. (Beberapa klien juga dapat menerapkan cara lain untuk mengizinkan perubahan level volume saat ini, misalnya, dengan menyediakan kenop yang dapat diputar oleh pengguna.)

MicrophoneMode

Kemungkinan status mikrofon setelah RPC Assist selesai.

Enum
MICROPHONE_MODE_UNSPECIFIED Mode tidak ditentukan.
CLOSE_MICROPHONE Layanan tidak mengharapkan pertanyaan lanjutan dari pengguna. Mikrofon akan tetap nonaktif hingga pengguna mengaktifkannya kembali.
DIALOG_FOLLOW_ON Layanan mengharapkan pertanyaan lanjutan dari pengguna. Mikrofon harus dibuka kembali saat pemutaran AudioOut selesai (dengan memulai panggilan RPC Assist baru untuk mengirim audio baru).

ScreenOut

Respons output visual Asisten terhadap kueri. Diaktifkan oleh screen_out_config.

Kolom
format

Format

Hanya output Format data layar yang disediakan.

data

bytes

Hanya output Data layar mentah yang akan ditampilkan sebagai hasil kueri Asisten.

Format

Format data layar yang mungkin.

Enum
FORMAT_UNSPECIFIED Tidak ada format yang ditentukan.
HTML Data akan berisi tata letak HTML5 berformat sepenuhnya yang dienkode dalam UTF-8, misalnya <html><body><div>...</div></body></html>. Hal ini dimaksudkan untuk dirender bersama dengan respons audio. Perhatikan bahwa doctype HTML5 harus disertakan dalam data HTML sebenarnya.

ScreenOutConfig

Menentukan format yang diinginkan untuk digunakan server saat menampilkan respons screen_out.

Kolom
screen_mode

ScreenMode

Mode layar visual saat ini untuk perangkat saat mengeluarkan kueri.

ScreenMode

Mode yang memungkinkan untuk output layar visual pada perangkat.

Enum
SCREEN_MODE_UNSPECIFIED Mode video tidak ditentukan. Asisten mungkin merespons seolah-olah dalam mode OFF.
OFF Layar mati (atau memiliki kecerahan atau setelan lain yang disetel sangat rendah sehingga tidak terlihat). Asisten biasanya tidak akan menampilkan respons layar dalam mode ini.
PLAYING Asisten biasanya akan menampilkan respons layar sebagian dalam mode ini.

SpeechRecognitionResult

Perkiraan transkripsi frasa yang telah diucapkan pengguna. Hal ini bisa berupa segmen tunggal atau tebakan penuh dari kueri yang diucapkan pengguna.

Kolom
transcript

string

Hanya output Teks transkrip yang mewakili kata-kata yang diucapkan pengguna.

stability

float

Output-saja Perkiraan kemungkinan bahwa Asisten tidak akan mengubah tebakannya tentang hasil ini. Rentang nilai dari 0.0 (benar-benar tidak stabil) hingga 1.0 (benar-benar stabil dan final). Nilai default 0,0 adalah nilai sentinel yang menunjukkan stability tidak ditetapkan.