Google Assistant Library

paket google.assistant.library.

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

Klien untuk Library Asisten Google.

Menyediakan fungsi kontrol dasar dan penanganan siklus proses untuk Asisten Google. Sebaiknya gunakan Asisten sebagai ContextManager:

with Assistant(credentials, device_model_id) as assistant:

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

Setelah start() dipanggil, Asisten akan membuat aliran Peristiwa yang menyampaikan berbagai status Asisten saat ini, 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 didengarkan oleh Asisten saat tidak dibisukan:

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

  • Percakapan: Satu atau beberapa belokan 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 didaftarkan untuk project Anda dengan Google. Ini tidak boleh berupa string kosong.
Menaikkan:

ValueError – Jika device_model_id tidak ada atau kosong.

device_id

Menampilkan ID perangkat yang dibuat 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.
Jenis nilai yang ditampilkan:STR
send_text_query(kueri)

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

Perilaku ini akan sama seperti pengguna yang mengucapkan frasa pengaktif dan membuat kueri ATAU mengucapkan jawaban untuk kueri berikutnya.

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

Menghentikan Asisten untuk mendengarkan frasa pengaktif.

Memungkinkan Asisten berhenti mendengarkan frasa pengaktif. Layanan ini menyediakan 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 untuk mendengarkan dan False memungkinkan Asisten dimulai lagi.
start()

Memulai Asisten, yang mencakup mendengarkan frasa pengaktif.

Setelah start() dipanggil, Asisten akan mulai memproses data dari sumber audio ALSA 'default', yang memproses frasa pengaktif. Tindakan ini juga akan memulai layanan lain yang disediakan oleh Asisten, seperti penghitung timer/alarm. Metode ini hanya dapat dipanggil sekali. Setelah dipanggil, Asisten akan terus berjalan sampai __exit__ dipanggil.

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

Memulai percakapan baru secara manual dengan Asisten.

Mulai merekam ucapan pengguna dan mengirimnya ke Google, mirip dengan yang terjadi saat Asisten mendengar frasa pengaktif.

Metode ini adalah tanpa pengoperasian jika Asisten tidak dimulai atau telah dibisukan.

stop_conversation()

Menghentikan percakapan aktif dengan Asisten.

Asisten bisa mendengarkan 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’.

kelas google.assistant.library.event.AlertType

Jenis notifikasi.

Digunakan dengan peristiwa ON_ALERT_STARTED dan ON_ALERT_FINISHED.

ALARM = 0

Acara 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 untuk dieksekusi bagi 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 – Key-value pair 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) – Key-value pair argumen yang terkait dengan peristiwa ini.
  • kwargs (dict) – Pasangan kunci/nilai argumen opsional yang dikhususkan untuk spesialisasi dari class Peristiwa untuk EventType.
kelas google.assistant.library.event.EventType

Jenis peristiwa.

ON_ALERT_FINISHED = 11Š

Mengindikasikan bahwa notifikasi alert_type telah berbunyi.

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

Mengindikasikan bahwa peringatan 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 merepresentasikan jenis notifikasi yang saat ini terdengar.
ON_ASSISTANT_ERROR = 12Š

Menunjukkan apakah library Asisten mengalami error.

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

Asisten sudah menyelesaikan belokan saat ini.

Ini termasuk memproses kueri pengguna dan mengucapkan respons penuh, jika ada.

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

Mengindikasikan bahwa belokan baru telah dimulai.

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

ON_CONVERSATION_TURN_TIMEOUT = 2Š

Waktu tunggu Asisten habis saat kueri terlihat.

Hal ini mungkin disebabkan oleh pemicu Hotword atau Asisten tidak dapat memahami apa yang dikatakan pengguna.

ON_DEVICE_ACTION = 14

Menunjukkan bahwa permintaan Tindakan Perangkat dikirim ke perangkat.

Parameter ini dikirim jika Tata Bahasa Perangkat dipicu untuk fitur yang didukung oleh perangkat. Jenis peristiwa ini memiliki properti 'tindakan' khusus yang akan menampilkan perintah iterator atau Device Action 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 memproses kueri pengguna.

Asisten mungkin belum selesai mencari tahu apa yang dikatakan pengguna, tetapi telah berhenti memproses lebih banyak data audio.

ON_MEDIA_STATE_ERROR = 20Š

Mengindikasikan bahwa telah terjadi error saat memutar lagu.

Pemutar media bawaan akan mencoba melompat ke trek berikutnya atau kembali ke ON_MEDIA_STATE_IDLE jika tidak ada yang tersisa untuk diputar.

ON_MEDIA_STATE_IDLE = 16Š

Mengindikasikan bahwa tidak ada yang sedang diputar dan tidak ada antrean 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 menjedanya, dan waktu streaming telah habis.

ON_MEDIA_TRACK_LOAD = 17Š

Mengindikasikan trek sedang dimuat tetapi belum mulai diputar.

Hal ini dapat dikirim beberapa kali jika metadata baru dimuat secara asinkron. Peristiwa 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 tidak diketahui, kolom tersebut tidak akan disertakan. Kolom metadata mencakup:

    album(str): Nama album dari lagu tersebut. 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.
  • track_type (MediaTrackType) – Jenis trek yang dimuat.
ON_MEDIA_TRACK_PLAY = 18

Menunjukkan bahwa trek sedang mengeluarkan audio.

Ini hanya akan dipicu saat kita beralih dari satu status ke status lainnya, seperti dari ON_MEDIA_TRACK_LOAD atau ON_MEDIA_TRACK_STOP

Parameter:
  • metadata (dict) –

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

    album(str): Nama album dari lagu tersebut. 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 dalam jalur yang diputar dalam milidetik sejak awal. Jika “metadata.duration_ms” tidak diketahui (disetel ke 0), kolom ini tidak akan ditetapkan.
  • track_type (MediaTrackType) – Jenis trek yang diputar.
ON_MEDIA_TRACK_STOP = 19Š

Mengindikasikan bahwa trek yang sedang diputar telah dihentikan.

Hal ini biasanya akibat dari jeda pengguna; jalur dapat kembali ke ON_MEDIA_TRACK_PLAY jika dilanjutkan oleh pengguna.

Parameter:
  • metadata (dict) –

    Metadata untuk jalur berhenti. Jika tidak diketahui, kolom tidak akan disertakan. Kolom metadata mencakup:

    album(str): Nama album dari lagu tersebut. 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 jalur yang dihentikan dalam milidetik sejak awal. Jika “metadata.duration_ms” tidak diketahui (disetel ke 0), kolom ini tidak akan ditetapkan.
  • track_type (MediaTrackType) – Jenis trek dihentikan.
ON_MUTED_CHANGED = 13Š

Menunjukkan bahwa Asisten sedang mendengarkan atau tidak.

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

Parameter:is_muted (bool) – Jika True, Asisten saat ini tidak mendeteksi frasa pengaktifnya dan tidak akan merespons kueri pengguna.
ON_NO_RESPONSE = 8Š

Asisten berhasil menyelesaikan gilirannya tetapi tidak bisa mengatakan apa-apa.

ON_RECOGNIZING_SPEECH_FINISHED = 5

Asisten telah menentukan ucapan terakhir yang dikenali.

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

Menunjukkan bahwa Asisten memiliki output teks yang akan dirender untuk mendapatkan respons.

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

Asisten sudah 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(waktu tunggu=3600)

Memperluas antrean.Queue untuk menambahkan antarmuka __iter__.

offer(acara)

Menawarkan peristiwa untuk dimasukkan ke dalam antrean.

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

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

Memperluas Peristiwa untuk menambahkan penguraian 'status'.

kelas 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 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