แพ็กเกจ google.assistant.library
-
class
google.assistant.library.
Assistant
(credentials, device_model_id)¶ ไคลเอ็นต์สําหรับไลบรารี Google Assistant
ให้ฟังก์ชันการควบคุมพื้นฐานและการจัดการวงจรชีวิตของ Google Assistant แนวทางปฏิบัติแนะนำคือให้ใช้ Assistant เป็น
ContextManager
with Assistant(credentials, device_model_id) as assistant:
ซึ่งช่วยให้การติดตั้งใช้งานแบบเนทีฟที่อยู่เบื้องหลังจัดการหน่วยความจําได้อย่างเหมาะสม
เมื่อเรียก
start()
แล้ว Assistant จะสร้างสตรีมเหตุการณ์ที่ส่งต่อสถานะต่างๆ ของ Assistant ในขณะนั้น เช่น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}
ดูรายละเอียดเกี่ยวกับเหตุการณ์ทั้งหมดและอาร์กิวเมนต์ของเหตุการณ์ได้ที่
EventType
อภิธานศัพท์:
คําสั่งให้ดำเนินการ: วลีที่ Assistant จะคอยฟังเมื่อไม่ได้ปิดเสียง
"OK Google" OR "Hey Google"
Turn: คำขอของผู้ใช้รายการเดียวตามด้วยการตอบกลับจาก Assistant
การสนทนา: การสนทนาอย่างน้อย 1 ครั้งที่ส่งผลให้ได้ผลลัพธ์ที่ต้องการจาก Assistant
"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!"
พารามิเตอร์ ได้แก่ - credentials (google.oauth2.credentials.Credentials) – ข้อมูลเข้าสู่ระบบ Google OAuth2 ของผู้ใช้
- device_model_id (str) – device_model_id ที่ลงทะเบียนไว้สำหรับโปรเจ็กต์ของคุณกับ Google ข้อมูลนี้ต้องไม่ใช่สตริงว่าง
เพิ่ม ValueError
– หากdevice_model_id
มีค่าเป็น "ไม่มี" หรือว่างเปล่า-
device_id
¶ แสดงรหัสอุปกรณ์ที่ Assistant สร้างขึ้น
ค่านี้จะระบุอุปกรณ์ของคุณให้กับเซิร์ฟเวอร์เมื่อใช้บริการต่างๆ เช่น Google Device Actions ระบบจะกรอกพร็อพเพอร์ตี้นี้หลังจากเรียกใช้
start()
เท่านั้นค่าที่ส่งคืน: รหัสอุปกรณ์เมื่อเรียก start()
แล้ว หรือเป็นสตริงว่างหากยังไม่ได้เรียกประเภทการแสดงผล str
-
send_text_query
(query)¶ ส่ง |query| ไปยัง Assistant ราวกับว่าผู้ใช้เป็นผู้พูด
ซึ่งจะทํางานเหมือนกับที่ผู้ใช้พูดคําสั่งให้ดำเนินการและทำการค้นหา หรือพูดคำตอบสําหรับคําค้นหาที่ตามมา
พารามิเตอร์ ได้แก่ query (str) – ข้อความค้นหาที่จะส่งไปยัง Assistant
-
set_mic_mute
(is_muted)¶ หยุดไม่ให้ Assistant ฟังคำสั่งให้ดำเนินการ
อนุญาตให้ปิดใช้ Assistant ไม่ให้คอยฟังคำสั่งให้ดำเนินการ ซึ่งจะมีฟังก์ชันการทำงานคล้ายกับปุ่มความเป็นส่วนตัวที่ด้านหลังของ Google Home
วิธีนี้จะใช้งานไม่ได้หากยังไม่ได้เริ่ม Assistant
พารามิเตอร์ ได้แก่ is_muted (bool) – True จะหยุดไม่ให้ Assistant ฟังเสียง และ False จะอนุญาตให้เริ่มฟังอีกครั้ง
-
start
()¶ เริ่ม Assistant ซึ่งรวมถึงการฟังคำสั่งให้ดำเนินการ
เมื่อเรียก
start()
แล้ว Assistant จะเริ่มประมวลผลข้อมูลจากแหล่งที่มาของเสียง ALSA "เริ่มต้น" เพื่อรอฟังคีย์เวิร์ด ซึ่งจะเป็นการเริ่มบริการอื่นๆ ที่ Assistant มีให้ด้วย เช่น ตัวจับเวลา/การปลุก เรียกเมธอดนี้ได้เพียงครั้งเดียวเท่านั้น เมื่อเรียกแล้ว Assistant จะทำงานต่อไปจนกว่าจะมีการเรียก__exit__
ค่าที่ส่งคืน: คิวเหตุการณ์ที่แจ้งการเปลี่ยนแปลงสถานะของ Assistant ประเภทการแสดงผล google.assistant.event.IterableEventQueue
-
start_conversation
()¶ เริ่มการสนทนาใหม่กับ Assistant ด้วยตนเอง
เริ่มทั้งการบันทึกคำพูดของผู้ใช้และส่งไปยัง Google ซึ่งคล้ายกับสิ่งที่เกิดขึ้นเมื่อ Assistant ได้ยินคําสั่งให้ดำเนินการ
วิธีนี้จะใช้งานไม่ได้หากไม่ได้เริ่ม Assistant หรือมีการปิดเสียงไว้
-
stop_conversation
()¶ หยุดการสนทนากับ Assistant ที่ดำเนินอยู่
Assistant อาจกำลังฟังคำถามของผู้ใช้หรือกำลังตอบกลับ หากไม่มีการสนทนาที่ใช้งานอยู่ การดำเนินการนี้จะใช้งานไม่ได้
-
class
google.assistant.library.event.
AlertEvent
(event_type, args, **_)¶ ขยายเหตุการณ์เพื่อเพิ่มการแยกวิเคราะห์ "alert_type"
-
class
google.assistant.library.event.
AlertType
¶ ประเภทการแจ้งเตือน
ใช้กับเหตุการณ์
ON_ALERT_STARTED
และON_ALERT_FINISHED
-
ALARM
= 0¶ กิจกรรมที่ตั้งค่าไว้สำหรับเวลาสัมบูรณ์ เช่น "03:00 น.ของวันจันทร์"
-
TIMER
= 1¶ เหตุการณ์ที่ตั้งค่าไว้สำหรับเวลาแบบสัมพัทธ์ เช่น "30 วินาทีนับจากนี้"
-
-
class
google.assistant.library.event.
DeviceActionEvent
(event_type, args, **kwargs)¶ ขยายเหตุการณ์เพื่อเพิ่มพร็อพเพอร์ตี้ "การดําเนินการ"
-
actions
¶ เครื่องมือสร้างคําสั่งที่จะดําเนินการกับอุปกรณ์ปัจจุบัน
-
-
class
google.assistant.library.event.
Event
(event_type, args, **_)¶ เหตุการณ์ที่ Assistant สร้างขึ้น
-
type
¶ EventType – ประเภทของเหตุการณ์ที่สร้างขึ้น
-
args
¶ dict – คู่คีย์/ค่าอาร์กิวเมนต์ที่เชื่อมโยงกับเหตุการณ์นี้
-
static
New
(event_type, args, **kwargs)¶ สร้างเหตุการณ์ใหม่โดยใช้คลาสเหตุการณ์เฉพาะเมื่อจําเป็น
พารามิเตอร์ ได้แก่ - event_type (int) – รหัสตัวเลขที่สอดคล้องกับเหตุการณ์ใน google.assistant.event.EventType
- args (dict) – คู่คีย์/ค่าอาร์กิวเมนต์ที่เชื่อมโยงกับเหตุการณ์นี้
- kwargs (dict) – คู่คีย์/ค่าอาร์กิวเมนต์ที่ไม่บังคับซึ่งเจาะจงสำหรับคลาสเหตุการณ์ที่เชี่ยวชาญด้าน EventType
-
-
class
google.assistant.library.event.
EventType
¶ ประเภทเหตุการณ์
-
ON_ALERT_FINISHED
= 11¶ บ่งบอกว่าเสียงแจ้งเตือนของ
alert_type
สิ้นสุดแล้วพารามิเตอร์ ได้แก่ alert_type (AlertType) – รหัสของ Enum ที่แสดงถึงประเภทของการแจ้งเตือนที่เพิ่งสิ้นสุด
-
ON_ALERT_STARTED
= 10¶ บ่งบอกว่าการแจ้งเตือนเริ่มดังขึ้นแล้ว
การแจ้งเตือนนี้จะยังคงอยู่จนกว่าจะได้รับ
ON_ALERT_FINISHED
ที่มีalert_type
เดียวกัน มีการแจ้งเตือนที่ใช้งานอยู่ได้เพียงรายการเดียวเท่านั้นในช่วงเวลาหนึ่งพารามิเตอร์ ได้แก่ alert_type (AlertType) – รหัสของ Enum ที่แสดงประเภทการแจ้งเตือนที่ส่งเสียงอยู่ในปัจจุบัน
-
ON_ASSISTANT_ERROR
= 12¶ ระบุว่าไลบรารี Assistant พบข้อผิดพลาดหรือไม่
พารามิเตอร์ ได้แก่ is_fatal (bool) – หากเป็น "จริง" แสดงว่า Assistant จะกู้คืนไม่ได้และต้องรีสตาร์ท
-
ON_CONVERSATION_TURN_FINISHED
= 9¶ Assistant จบการเลี้ยวปัจจุบันแล้ว
ซึ่งรวมถึงทั้งการประมวลผลคําค้นหาของผู้ใช้และการพูดคําตอบแบบเต็ม หากมี
พารามิเตอร์ ได้แก่ with_follow_on_turn (bool) – หากเป็น "จริง" แสดงว่า Assistant คาดหวังว่าผู้ใช้จะโต้ตอบต่อ ไมโครโฟนจะเปิดขึ้นอีกครั้งเพื่อให้ผู้ใช้ตอบคำถามต่อได้
-
ON_CONVERSATION_TURN_STARTED
= 1¶ บ่งบอกว่าเริ่มการเลี้ยวใหม่แล้ว
ขณะนี้ Assistant กำลังฟังอยู่เพื่อรอคําค้นหาจากผู้ใช้ ปัญหานี้อาจเกิดจากการได้ยินคำสั่งให้ดำเนินการหรือ
start_conversation()
ที่เรียกใช้ Assistant
-
ON_CONVERSATION_TURN_TIMEOUT
= 2¶ Assistant หมดเวลาขณะรอคําค้นหาที่เข้าใจได้
ปัญหานี้อาจเกิดจาก Hotword ทำงานผิดพลาดหรือ Assistant ไม่เข้าใจสิ่งที่ผู้ใช้พูด
-
ON_DEVICE_ACTION
= 14¶ บ่งบอกว่ามีการส่งคําขอการดำเนินการกับอุปกรณ์ไปยังอุปกรณ์
ระบบจะส่งเหตุการณ์นี้หากมีทริกเกอร์ไวยากรณ์ของอุปกรณ์สําหรับลักษณะที่อุปกรณ์รองรับ เหตุการณ์ประเภทนี้มีพร็อพเพอร์ตี้ "การดำเนินการ" พิเศษ ซึ่งจะแสดงผลคำสั่งตัวนับหรือการดำเนินการกับอุปกรณ์ รวมถึงพารามิเตอร์ที่เกี่ยวข้อง (หากมี)
พารามิเตอร์ ได้แก่ dict – เพย์โหลด JSON ที่ถอดรหัสแล้วของคำขอการดำเนินการกับอุปกรณ์
-
ON_END_OF_UTTERANCE
= 3¶ Assistant หยุดฟังคําค้นหาของผู้ใช้แล้ว
Assistant อาจยังไม่เข้าใจสิ่งที่ผู้ใช้พูด แต่หยุดฟังข้อมูลเสียงเพิ่มเติมแล้ว
-
ON_MEDIA_STATE_ERROR
= 20¶ บ่งบอกว่าเกิดข้อผิดพลาดขณะเล่นแทร็ก
มีเดียเพลเยอร์ในตัวจะพยายามข้ามไปยังแทร็กถัดไปหรือกลับไปที่
ON_MEDIA_STATE_IDLE
หากไม่มีแทร็กใดเหลือให้เล่น
-
ON_MEDIA_STATE_IDLE
= 16¶ บ่งบอกว่าไม่มีรายการที่กำลังเล่นและไม่มีรายการใดอยู่ในคิวรอเล่น
เหตุการณ์นี้ออกอากาศจากโปรแกรมเล่นสื่อในตัวของคลัง Google Assistant สําหรับข่าว/พอดแคสต์เมื่อเริ่มต้นใช้งาน และเมื่อใดก็ตามที่โปรแกรมเล่นไม่มีการใช้งานเนื่องจากผู้ใช้หยุดสื่อหรือหยุดชั่วคราวและสตรีมหมดเวลา
-
ON_MEDIA_TRACK_LOAD
= 17¶ บ่งบอกว่าแทร็กกำลังโหลดแต่ไม่เริ่มเล่น
ซึ่งอาจส่งหลายครั้งหากมีการโหลดข้อมูลเมตาใหม่แบบไม่พร้อมกัน ซึ่งโดยปกติจะตามด้วยเหตุการณ์
ON_MEDIA_TRACK_PLAY
พารามิเตอร์ ได้แก่ - metadata (dict) –
ข้อมูลเมตาของแทร็กที่โหลด ระบบอาจไม่ได้กรอกข้อมูลในบางช่องภายในเวลานี้ หากไม่ทราบข้อมูลในช่องใด ระบบจะไม่รวมช่องนั้น ช่องข้อมูลเมตามีดังนี้
album(str): ชื่ออัลบั้มของแทร็ก album_art(str): URL ของภาพปกอัลบั้ม artist(str): ศิลปินที่สร้างแทร็กนี้ duration_ms(double): ความยาวของแทร็กนี้ในหน่วยมิลลิวินาที title(str): ชื่อของแทร็ก - track_type (MediaTrackType) – ประเภทของแทร็กที่โหลด
- metadata (dict) –
-
ON_MEDIA_TRACK_PLAY
= 18¶ บ่งบอกว่าแทร็กกำลังส่งออกเสียง
การดำเนินการนี้จะทริกเกอร์ก็ต่อเมื่อเราเปลี่ยนจากสถานะหนึ่งไปยังอีกสถานะหนึ่ง เช่น จาก
ON_MEDIA_TRACK_LOAD
หรือON_MEDIA_TRACK_STOP
พารามิเตอร์ ได้แก่ - metadata (dict) –
ข้อมูลเมตาสำหรับแทร็กที่เล่นอยู่ หากไม่ทราบฟิลด์ใด ระบบจะไม่รวมฟิลด์นั้น ช่องข้อมูลเมตา ได้แก่
album(str): ชื่ออัลบั้มของแทร็ก album_art(str): URL ของภาพปกอัลบั้ม artist(str): ศิลปินที่สร้างแทร็กนี้ duration_ms(double): ความยาวของแทร็กนี้ในหน่วยมิลลิวินาที title(str): ชื่อของแทร็ก - position_ms (double) – ตำแหน่งปัจจุบันในแทร็กที่กำลังเล่นเป็นมิลลิวินาทีนับจากต้น หาก "metadata.duration_ms" ไม่ทราบค่า (ตั้งค่าเป็น 0) ระบบจะไม่ตั้งค่าฟิลด์นี้
- track_type (MediaTrackType) – ประเภทของแทร็กที่กำลังเล่น
- metadata (dict) –
-
ON_MEDIA_TRACK_STOP
= 19¶ บ่งบอกว่าแทร็กก่อนหน้าหยุดเล่นแล้ว
โดยทั่วไปแล้ว สถานะนี้เป็นผลมาจากการที่ผู้ใช้หยุดชั่วคราว แทร็กจะกลับไปที่
ON_MEDIA_TRACK_PLAY
ได้หากผู้ใช้เล่นต่อพารามิเตอร์ ได้แก่ - metadata (dict) –
ข้อมูลเมตาของแทร็กที่ถูกหยุด หากไม่ทราบฟิลด์ใด ระบบจะไม่รวมฟิลด์นั้น ช่องข้อมูลเมตา ได้แก่
album(str): ชื่ออัลบั้มของแทร็ก album_art(str): URL ของภาพปกอัลบั้ม artist(str): ศิลปินที่สร้างแทร็กนี้ duration_ms(double): ความยาวของแทร็กนี้เป็นมิลลิวินาที title(str): ชื่อของแทร็ก - position_ms (double) – ตำแหน่งปัจจุบันในแทร็กหยุดชั่วคราวเป็นมิลลิวินาทีนับจากต้น หาก "metadata.duration_ms" ไม่ทราบค่า (ตั้งค่าเป็น 0) ระบบจะไม่ตั้งค่าฟิลด์นี้
- track_type (MediaTrackType) – ประเภทของแทร็กที่ถูกหยุด
- metadata (dict) –
-
ON_MUTED_CHANGED
= 13¶ ระบุว่า Assistant กำลังฟังอยู่หรือไม่
start()
จะสร้างON_MUTED_CHANGED
เสมอเพื่อรายงานค่าเริ่มต้นพารามิเตอร์ ได้แก่ is_muted (bool) – หากเป็น True แสดงว่า Assistant ไม่ได้กำลังฟังคำสั่งให้ดำเนินการและจะไม่ตอบสนองต่อคําค้นหาของผู้ใช้
-
ON_NO_RESPONSE
= 8¶ Assistant พูดจนจบรอบแล้ว แต่ไม่มีอะไรจะพูด
-
ON_RECOGNIZING_SPEECH_FINISHED
= 5¶ Assistant ระบุคำพูดที่จดจำได้สุดท้ายแล้ว
พารามิเตอร์ ได้แก่ text (str) – การตีความข้อความสุดท้ายของคําค้นหาของผู้ใช้
-
ON_RENDER_RESPONSE
= 15¶ บ่งบอกว่า Assistant มีเอาต์พุตข้อความที่จะแสดงผลสำหรับคำตอบ
พารามิเตอร์ ได้แก่ - type (RenderResponseType) – ประเภทของคำตอบที่จะแสดงผล
- text (str) – สตริงที่จะแสดงผลสำหรับ RenderResponseType.TEXT
-
ON_RESPONDING_FINISHED
= 7¶ Assistant ตอบกลับด้วยเสียงเสร็จแล้ว
-
ON_RESPONDING_STARTED
= 6¶ Assistant กำลังเริ่มตอบกลับด้วยเสียง
Assistant จะตอบกลับจนกว่าจะได้รับการตอบกลับ
ON_RESPONDING_FINISHED
พารามิเตอร์ ได้แก่ is_error_response (bool) – จริงหมายถึงกำลังเล่น TTS ข้อผิดพลาดในเครื่องอยู่ ไม่เช่นนั้น Assistant จะตอบกลับด้วยการตอบกลับของเซิร์ฟเวอร์
-
ON_START_FINISHED
= 0¶ คลัง Assistant เริ่มเสร็จแล้ว
-
-
class
google.assistant.library.event.
IterableEventQueue
(timeout=3600)¶ ขยาย queue.Queue เพื่อเพิ่มอินเทอร์เฟซ
__iter__
-
class
google.assistant.library.event.
MediaStateChangeEvent
(event_type, args, **_)¶ ขยายเหตุการณ์เพื่อเพิ่มการแยกวิเคราะห์ "สถานะ"
-
class
google.assistant.library.event.
MediaTrackType
¶ ประเภทแทร็กสําหรับเหตุการณ์ ON_MEDIA_TRACK_X
ใช้กับ
ON_MEDIA_TRACK_LOAD
,ON_MEDIA_TRACK_PLAY
, &ON_MEDIA_TRACK_STOP
-
CONTENT
= 2¶ เนื้อหาจริงของรายการ (ข่าว/พอดแคสต์)
-
TTS
= 1¶ บทนำแบบ TTS หรือแทร็กคั่นระหว่างหน้าที่เกี่ยวข้องกับสินค้า
-
-
class
google.assistant.library.event.
RenderResponseEvent
(event_type, args, **_)¶ ขยายเหตุการณ์เพื่อเพิ่มการแยกวิเคราะห์ "response_type"
-
class
google.assistant.library.event.
RenderResponseType
¶ ประเภทเนื้อหาที่จะแสดงผล
ใช้กับ
ON_RENDER_RESPONSE