Google Assistant Library

paket google.assistant.library.

class google.assistant.library.Assistant(kredensial, id_model_perangkat)

Klien untuk Library Asisten Google.

Menyediakan fungsi kontrol dasar dan penanganan siklus proses untuk Asisten Google. Praktik terbaiknya adalah menggunakan Asisten sebagai ContextManager:

with Assistant(credentials, device_model_id) as assistant:

Hal ini memungkinkan implementasi native yang mendasarinya untuk menangani pengelolaan memori dengan benar.

Setelah start() dipanggil, Asisten akan menghasilkan aliran Peristiwa yang menyampaikan berbagai status yang saat ini dimiliki Asisten, misalnya:

ON_CONVERSATION_TURN_STARTED
ON_END_OF_UTTERANCE
ON_RECOGNIZING_SPEECH_FINISHED:
    {'text': 'what time is it'}
ON_RESPONDING_STARTED:
    {'is_error_response': False}
ON_RESPONDING_FINISHED
ON_CONVERSATION_TURN_FINISHED:
    {'with_follow_on_turn': False}

Lihat EventType untuk mengetahui detail tentang semua peristiwa dan argumennya.

Daftar Istilah:

  • Kata cepat: Frasa yang didengar Asisten saat tidak dibisukan:

    "OK Google" OR "Hey Google"
    
  • Belok: Satu permintaan pengguna diikuti dengan respons dari Asisten.

  • Percakapan: Satu atau beberapa giliran yang menghasilkan hasil akhir yang diinginkan dari Asisten:

    "What time is it?" -> "The time is 6:24 PM" OR
    "Set a timer" -> "Okay, for how long?" ->
    "5 minutes" -> "Sure, 5 minutes, starting now!"
    
Parameter:
  • kredensial (google.oauth2.credentials.Credentials) – Kredensial pengguna Kredensial Google OAuth2.
  • device_model_id (str) – device_model_id yang terdaftar untuk project Anda dengan Google. String ini tidak boleh berupa string kosong.
Memunculkan:

ValueError – Jika device_model_id dibiarkan sebagai Tidak Ada atau kosong.

device_id

Menampilkan ID perangkat yang dihasilkan oleh Asisten.

Nilai ini mengidentifikasi perangkat Anda ke server saat menggunakan layanan seperti Google Device Actions. Properti ini hanya diisi SETELAH start() telah dipanggil.

Retur:ID perangkat sekali start() memiliki dipanggil, maka posisi string kosong.
Jenis nilai yang ditampilkan:str
send_text_query(kueri)

Mengirim |query| ke Asisten seolah-olah suara tersebut diucapkan oleh pengguna.

Fungsi ini akan berperilaku sama seperti pengguna yang mengucapkan frasa pengaktif dan membuat kueri ATAU mengucapkan jawaban atas kueri lanjutan.

Parameter:query (str) – Kueri teks yang akan dikirim ke Asisten.
set_mic_mute(is_muted)

Menghentikan Asisten mendengarkan kata cepat.

Memungkinkan Asisten dinonaktifkan agar tidak mendengarkan frasa pengaktif. Tombol ini memberikan fungsi yang mirip dengan tombol privasi di bagian belakang Google Home.

Metode ini tidak beroperasi jika Asisten belum dimulai.

Parameter:is_muted (bool) – True menghentikan Asisten mendengarkan dan False memungkinkannya untuk dimulai lagi.
start()

Memulai Asisten, yang mencakup pemrosesan frasa pengaktif.

Setelah start() dipanggil, Asisten akan mulai memproses data dari sumber audio ALSA 'default', yang memproses kata kunci. Ini juga akan memulai layanan lain yang disediakan oleh Asisten, seperti sebagai timer/alarm. Metode ini hanya dapat dipanggil sekali. Setelah dipanggil, Asisten akan terus berjalan hingga __exit__ dipanggil.

Retur:Antrean peristiwa yang memberitahukan perubahan pada Asisten status.
Jenis nilai yang ditampilkan:google.assistant.event.IterableEventQueue
start_conversation()

Memulai percakapan baru dengan Asisten secara manual.

Memulai perekaman ucapan pengguna dan mengirimkannya ke Google, seperti yang terjadi saat Asisten mendengar kata kunci.

Metode ini dianggap tanpa pengoperasian jika Asisten belum dimulai atau telah dibisukan.

stop_conversation()

Menghentikan percakapan aktif apa pun dengan Asisten.

Asisten dapat memproses kueri pengguna ATAU merespons. Jika tidak ada percakapan aktif, ini adalah tanpa pengoperasian.

class google.assistant.library.event.AlertEvent(event_type, args, **_)

Memperluas Peristiwa untuk menambahkan penguraian ‘alert_type’.

class google.assistant.library.event.AlertType

Jenis pemberitahuan.

Digunakan dengan peristiwa ON_ALERT_STARTED dan ON_ALERT_FINISHED.

ALARM = 0

Acara yang disetel untuk waktu absolut, seperti ‘03.00 pada hari Senin’

TIMER = 1

Peristiwa yang ditetapkan untuk waktu relatif seperti '30 detik dari sekarang'

class google.assistant.library.event.DeviceActionEvent(event_type, args, **kwargs)

Memperluas Peristiwa untuk menambahkan properti 'tindakan'.

actions

Generator perintah yang akan dijalankan untuk perangkat saat ini.

class google.assistant.library.event.Event(event_type, args, **_)

Peristiwa yang dihasilkan oleh Asisten.

type

EventType – Jenis peristiwa yang dihasilkan.

args

dict – Pasangan kunci/nilai argumen yang terkait dengan peristiwa ini.

static New(event_type, args, **kwargs)

Buat peristiwa baru menggunakan class Peristiwa khusus jika diperlukan.

Parameter:
  • event_type (int) – ID numerik yang sesuai dengan peristiwa di google.assistant.event.EventType.
  • args (dict) – Pasangan kunci/nilai argumen yang terkait dengan peristiwa ini.
  • kwargs (dict) – Pasangan kunci/nilai argumen opsional khusus untuk spesialisasi class Event untuk EventType.
class google.assistant.library.event.EventType

Jenis peristiwa.

ON_ALERT_FINISHED = 11

Menunjukkan notifikasi alert_type telah selesai dibunyikan.

Parameter:alert_type (AlertType) – ID Enum yang mewakili jenis peringatan yang baru saja selesai.
ON_ALERT_STARTED = 10

Menunjukkan bahwa notifikasi telah mulai berbunyi.

Notifikasi ini akan berlanjut hingga ON_ALERT_FINISHED dengan alert_type yang sama diterima. Hanya satu peringatan yang harus aktif pada waktu tertentu.

Parameter:alert_type (AlertType) – ID Enum yang mewakili jenis pemberitahuan yang saat ini berbunyi.
ON_ASSISTANT_ERROR = 12

Menunjukkan apakah library Asisten telah mengalami error.

Parameter:is_fatal (bool) – Jika Benar, Asisten tidak akan dapat pulih dan harus dimulai ulang.
ON_CONVERSATION_TURN_FINISHED = 9

Asisten telah menyelesaikan belokan saat ini.

Hal ini mencakup pemrosesan kueri pengguna dan mengucapkan respons lengkap, jika ada.

Parameter:with_follow_on_turn (bool) – Jika Benar, Asisten mengharapkan interaksi lanjutan dari pengguna. Mikrofon akan dibuka kembali agar pengguna dapat menjawab pertanyaan lanjutan.
ON_CONVERSATION_TURN_STARTED = 1

Menunjukkan bahwa belokan baru telah dimulai.

Asisten saat ini sedang mendengarkan, menunggu kueri pengguna. Hal ini dapat terjadi karena mendengar kata cepat atau start_conversation() dipanggil di Asisten.

ON_CONVERSATION_TURN_TIMEOUT = 2

Waktu Asisten habis menunggu kueri yang jelas.

Hal ini dapat disebabkan oleh kesalahan pemicuan Hotword atau Asisten tidak dapat memahami apa yang dikatakan pengguna.

ON_DEVICE_ACTION = 14

Menunjukkan bahwa permintaan Tindakan Perangkat dikirim ke perangkat.

Ini dikirim jika Grammar Perangkat dipicu untuk sifat yang didukung oleh perangkat. Jenis acara ini memiliki ‘tindakan’ khusus yang akan mengembalikan iterator atau perintah {i>Device Action<i} dan parameter yang terkait dengannya (jika berlaku).

Parameter:dict – Payload JSON yang didekode dari permintaan Action Perangkat.
ON_END_OF_UTTERANCE = 3

Asisten telah berhenti mendengarkan kueri pengguna.

Asisten mungkin belum selesai mencari tahu apa yang dikatakan pengguna, tetapi telah berhenti mendengarkan data audio lainnya.

ON_MEDIA_STATE_ERROR = 20

Menunjukkan bahwa telah terjadi error saat memutar lagu.

Pemutar media bawaan akan mencoba melewati ke lagu berikutnya atau kembali ke ON_MEDIA_STATE_IDLE jika tidak ada lagi yang dapat diputar.

ON_MEDIA_STATE_IDLE = 16

Menunjukkan bahwa tidak ada yang diputar dan tidak ada yang diantre untuk diputar.

Acara ini disiarkan dari Koleksi Asisten Google bawaan pemutar media untuk berita/podcast saat dimulai dan setiap kali pemutar memilikinya tidak ada aktivitas karena pengguna menghentikan media atau menjedanya dan streaming kehabisan waktu.

ON_MEDIA_TRACK_LOAD = 17

Menunjukkan bahwa lagu sedang dimuat, tetapi belum mulai diputar.

Hal ini dapat dikirim beberapa kali jika metadata baru dimuat secara asinkron. Biasanya diikuti dengan peristiwa ON_MEDIA_TRACK_PLAY

Parameter:
  • metadata (dict) –

    Metadata untuk trek yang dimuat. Tidak semua {i>field<i} akan terisi saat ini - jika kolom tidak diketahui, kolom tidak akan disertakan. Kolom metadata meliputi:

    album(str): Nama album tempat lagu berada. album_art(str): URL untuk gambar album. artist(str): Artis yang membuat lagu ini. duration_ms(double): Durasi lagu ini dalam milidetik. title(str): Judul lagu.
  • track_type (MediaTrackType) – Jenis trek yang dimuat.
ON_MEDIA_TRACK_PLAY = 18

Menunjukkan bahwa trek saat ini menghasilkan audio.

Ini hanya akan dipicu saat kita bertransisi dari satu status ke status lain, seperti dari ON_MEDIA_TRACK_LOAD atau ON_MEDIA_TRACK_STOP

Parameter:
  • metadata (dict) –

    Metadata untuk trek yang diputar. Jika tidak diketahui, kolom tersebut tidak akan disertakan. Kolom metadata mencakup:

    album(str): Nama album tempat lagu berada. album_art(str): URL untuk gambar album. artist(str): Artis yang membuat lagu ini. duration_ms(double): Durasi lagu ini dalam milidetik. title(str): Judul lagu.
  • position_ms (double) – Posisi saat ini pada trek pemutaran di dalam milidetik sejak awal. Jika “metadata.duration_ms” tidak diketahui (ditetapkan ke 0), kolom ini tidak akan ditetapkan.
  • track_type (MediaTrackType) – Jenis trek yang diputar.
ON_MEDIA_TRACK_STOP = 19

Menunjukkan bahwa trek yang sebelumnya diputar dihentikan.

Hal ini biasanya terjadi karena pengguna berhenti sejenak; yang dapat dikembalikan ke ON_MEDIA_TRACK_PLAY jika dilanjutkan oleh pengguna.

Parameter:
  • metadata (dict) –

    Metadata untuk jalur yang dihentikan. Jika kolom tidak diketahui maka itu tidak akan dimasukkan. Kolom metadata mencakup:

    album(str): Nama album tempat lagu berada. album_art(str): URL untuk sampul album. artist(str): Artis yang membuat lagu ini. Duration_ms(double): Panjang trek ini dalam milidetik. title(str): Judul lagu.
  • position_ms (double) – Posisi saat ini di trek yang dihentikan dalam milidetik sejak awal. Jika “metadata.duration_ms” tidak diketahui (ditetapkan ke 0), kolom ini tidak akan ditetapkan.
  • track_type (MediaTrackType) – Jenis trek yang dihentikan.
ON_MUTED_CHANGED = 13

Menunjukkan bahwa Asisten saat ini sedang mendengarkan atau tidak.

start() akan selalu membuat ON_MUTED_CHANGED untuk melaporkan nilai awal.

Parameter:is_muted (bool) – Jika Benar, Asisten saat ini tidak mendengarkan kata cepatnya dan tidak akan merespons kueri pengguna.
ON_NO_RESPONSE = 8

Asisten berhasil menyelesaikan gilirannya tetapi tidak ada yang bisa dikatakan.

ON_RECOGNIZING_SPEECH_FINISHED = 5

Asisten telah menentukan ucapan akhir yang dikenali.

Parameter:text (str) – Penafsiran teks akhir dari kueri pengguna.
ON_RENDER_RESPONSE = 15

Menunjukkan bahwa Asisten memiliki output teks untuk dirender sebagai respons.

Parameter:
  • type (RenderResponseType) – Jenis respons yang akan dirender.
  • text (str) – String yang akan dirender untuk RenderResponseType.TEXT.
ON_RESPONDING_FINISHED = 7

Asisten telah selesai merespons dengan suara.

ON_RESPONDING_STARTED = 6

Asisten mulai merespons dengan suara.

Asisten akan merespons hingga ON_RESPONDING_FINISHED diterima.

Parameter:is_error_response (bool) – Benar berarti TTS error lokal sedang diputar, jika tidak, Asisten akan merespons dengan respons server.
ON_START_FINISHED = 0

Library Asisten telah selesai dimulai.

class google.assistant.library.event.IterableEventQueue(timeout=3600)

Memperluas queue.Queue untuk menambahkan antarmuka __iter__.

offer(acara)

Menawarkan peristiwa untuk dimasukkan ke dalam antrean.

Jika antrean saat ini penuh, peristiwa akan dicatat dalam log tetapi tidak ditambahkan.

Parameter:event (Peristiwa) – Peristiwa yang akan dicoba ditambahkan ke antrean.
class google.assistant.library.event.MediaStateChangeEvent(event_type, args, **_)

Memperluas Peristiwa untuk menambahkan penguraian 'status'.

class google.assistant.library.event.MediaTrackType

Jenis trek untuk peristiwa ON_MEDIA_Tracking_X.

Digunakan dengan ON_MEDIA_TRACK_LOAD, ON_MEDIA_TRACK_PLAY, &amp; ON_MEDIA_TRACK_STOP

CONTENT = 2

Konten sebenarnya untuk suatu item (berita/podcast).

TTS = 1

Pengantar TTS atau trek interstisial yang terkait dengan item.

class google.assistant.library.event.RenderResponseEvent(event_type, args, **_)

Memperluas Peristiwa untuk menambahkan penguraian 'response_type'.

kelas google.assistant.library.event.RenderResponseType

Jenis konten yang akan dirender.

Digunakan dengan ON_RENDER_RESPONSE