Google Assistant Library

Paket google.assistant.library.

class google.assistant.library.Assistant(credentials, device_model_id)

Klien untuk Library Asisten Google.

Memberikan 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"
    
  • Putaran: Satu permintaan pengguna yang 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:
  • credentials (google.oauth2.credentials.Credentials) – Kredensial Google OAuth2 pengguna.
  • device_model_id (str) – device_model_id yang terdaftar untuk project Anda dengan Google. String ini tidak boleh 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() dipanggil.

Retur:ID perangkat setelah start() dipanggil, string kosong jika tidak.
Jenis nilai yang ditampilkan:str
send_text_query(kueri)

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

Tindakan ini akan berperilaku sama seperti pengguna mengucapkan kata kunci dan membuat kueri ATAU mengucapkan jawaban untuk kueri lanjutan.

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

Menghentikan Asisten agar tidak mendengarkan frasa pengaktif.

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 akan berfungsi jika Asisten belum dimulai.

Parameter:is_muted (bool) – True menghentikan Asisten agar tidak mendengarkan dan False memungkinkannya 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. Tindakan ini juga akan memulai layanan lain yang disediakan oleh Asisten, seperti timer/alarm. Metode ini hanya dapat dipanggil sekali. Setelah dipanggil, Asisten akan terus berjalan hingga __exit__ dipanggil.

Retur:Antrean peristiwa yang memberi tahu perubahan pada status Asisten.
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 tidak akan berfungsi jika Asisten tidak dimulai atau telah dibisukan.

stop_conversation()

Menghentikan percakapan aktif dengan Asisten.

Asisten dapat memproses kueri pengguna ATAU merespons. Jika tidak ada percakapan aktif, tindakan ini tidak akan dilakukan.

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

Peristiwa yang ditetapkan 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 nilai kunci 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 nilai kunci argumen yang terkait dengan peristiwa ini.
  • kwargs (dict) – Pasangan nilai kunci argumen opsional yang khusus untuk spesialisasi class Peristiwa untuk EventType.
class google.assistant.library.event.EventType

Jenis peristiwa.

ON_ALERT_FINISHED = 11

Menunjukkan bahwa pemberitahuan alert_type telah selesai berbunyi.

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

Menunjukkan bahwa pemberitahuan telah mulai berbunyi.

Notifikasi ini akan berlanjut hingga ON_ALERT_FINISHED dengan alert_type yang sama diterima. Hanya satu pemberitahuan 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 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

Asisten kehabisan waktu tunggu untuk menunggu kueri yang dapat dipahami.

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.

Peristiwa ini dikirim jika Grammar Perangkat dipicu untuk sifat yang didukung oleh perangkat. Jenis peristiwa ini memiliki properti 'actions' khusus yang akan menampilkan iterator atau perintah Action Perangkat dan parameter yang terkait dengannya (jika ada).

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 trek.

Pemutar media bawaan akan mencoba melompat ke trek 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.

Peristiwa ini disiarkan dari pemutar media bawaan Library Asisten Google untuk berita/podcast saat memulai dan setiap kali pemutar tidak ada aktivitas karena pengguna menghentikan media atau menjeda dan streaming telah habis waktunya.

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. Hal ini biasanya diikuti dengan peristiwa ON_MEDIA_TRACK_PLAY

Parameter:
  • metadata (dict) –

    Metadata untuk trek yang dimuat. Tidak semua kolom akan diisi pada saat ini – jika kolom 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.
  • 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 dalam trek yang diputar 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 lagu yang sebelumnya diputar dihentikan.

Hal ini biasanya terjadi karena pengguna menjeda; trek dapat kembali ke ON_MEDIA_TRACK_PLAY jika dilanjutkan oleh pengguna.

Parameter:
  • metadata (dict) –

    Metadata untuk jalur yang dihentikan. 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 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 giliran, tetapi tidak ada yang perlu dikatakan.

ON_RECOGNIZING_SPEECH_FINISHED = 5

Asisten telah menentukan ucapan akhir yang dikenali.

Parameter:text (str) – Interpretasi 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(peristiwa)

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_TRACK_X.

Digunakan dengan ON_MEDIA_TRACK_LOAD, ON_MEDIA_TRACK_PLAY, & ON_MEDIA_TRACK_STOP

CONTENT = 2

Konten sebenarnya untuk 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'.

class google.assistant.library.event.RenderResponseType

Jenis konten yang akan dirender.

Digunakan dengan ON_RENDER_RESPONSE