Google Assistant Library

แพ็กเกจ google.assistant.library

ชั้นเรียน google.assistant.library.Assistant(ข้อมูลเข้าสู่ระบบ, 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"
    
  • เปลี่ยน: คําขอของผู้ใช้ 1 ราย ตามด้วยการตอบกลับจาก 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!"
    
พารามิเตอร์:
  • ข้อมูลเข้าสู่ระบบ (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()รหัสอุปกรณ์แล้ว หากเป็นสตริงว่างเปล่า
ประเภทการคืนสินค้า:สโตร
send_text_query(คําค้นหา)\">

ส่ง |query| ไปยัง Assistant เสมือนว่าเป็นเสียงพูดของผู้ใช้

ซึ่งจะทํางานเหมือนกับผู้ใช้ที่พูดคําสั่งให้ดําเนินการ และทําการค้นหา หรือพูดคําตอบสําหรับคําถามที่ตามมา

พารามิเตอร์:query (str) – การค้นหาข้อความเพื่อส่งไปยัง Assistant
set_mic_mute(ปิดรับการแจ้งเตือนแล้ว)\">

หยุดไม่ให้ Assistant ฟังคําสั่งให้ดําเนินการ

อนุญาตให้ปิด Assistant ไม่ให้ฟังคําสั่งให้ดําเนินการ ซึ่งจะมีฟังก์ชันการทํางานคล้ายกับปุ่มความเป็นส่วนตัวที่ด้านหลังของ Google Home

วิธีนี้ไม่ใช่คําสั่งใดๆ หาก Assistant ยังไม่ได้เริ่มต้น

พารามิเตอร์:is_muted (bool) – จริง จะเป็นการหยุดไม่ให้ 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 อาจฟังการค้นหาของผู้ใช้หรือตอบสนองอยู่ หากไม่มีการสนทนาที่ใช้งานอยู่ การดําเนินการนั้นจะไม่มีผล

ชั้นเรียน google.assistant.library.event.AlertEvent(event_type, args, **_)

ขยายเหตุการณ์เพื่อเพิ่มการแยกวิเคราะห์ "alert_type"

ชั้นเรียน google.assistant.library.event.AlertType

ประเภทการแจ้งเตือน

ใช้กับกิจกรรม ON_ALERT_STARTED และ ON_ALERT_FINISHED

ALARM = 0

กิจกรรมที่ตั้งขึ้นเป็นเวลาที่แน่นอน เช่น "3 โมงเช้าวันจันทร์"

TIMER = 1

เหตุการณ์ที่สร้างขึ้นสําหรับเวลาที่เกี่ยวข้อง เช่น "30 วินาทีต่อจากนี้"

ชั้นเรียน google.assistant.library.event.DeviceActionEvent(event_type, args, **kwargs)

ขยายเหตุการณ์เพื่อเพิ่มพร็อพเพอร์ตี้ "การกระทํา"

actions

โปรแกรมสร้างคําสั่งที่จะดําเนินการในอุปกรณ์ปัจจุบัน

ชั้นเรียน google.assistant.library.event.Event(event_type, args, **_)

กิจกรรมที่สร้างโดย Assistant

type

EventType - ประเภทของเหตุการณ์ที่สร้างขึ้น

args

dict – อาร์กิวเมนต์คีย์/ค่าอาร์กิวเมนต์ที่เชื่อมโยงกับเหตุการณ์นี้

ภาพนิ่ง New(event_type, args, **kwargs)\">

สร้างกิจกรรมใหม่โดยใช้คลาสกิจกรรมพิเศษเมื่อจําเป็น

พารามิเตอร์:
  • event_type (int) – รหัสตัวเลขที่ตรงกับกิจกรรมใน google.assistant.event.EventType
  • args (dict) – คู่คีย์/อาร์กิวเมนต์อาร์กิวเมนต์ที่เชื่อมโยงกับเหตุการณ์นี้
  • kwargs (dict) – คู่คีย์/ค่าอาร์กิวเมนต์ที่ไม่บังคับ ค่าเฉพาะสําหรับความเชี่ยวชาญพิเศษระดับเหตุการณ์สําหรับ EventType
ชั้นเรียน google.assistant.library.event.EventType

ประเภทกิจกรรม

ON_ALERT_FINISHED = 11\">

บ่งบอกว่ามีการแจ้งเตือนเสียง alert_type จบแล้ว

พารามิเตอร์:alert_type (AlertType) - รหัส Enum ที่แสดงถึงประเภทของการแจ้งเตือนที่เพิ่งเสร็จสิ้น
ON_ALERT_STARTED = 10

บ่งบอกว่ามีเสียงเตือนแล้ว

การแจ้งเตือนนี้จะทํางานต่อจนกว่าจะได้รับ ON_ALERT_FINISHED ที่มี alert_type เหมือนกัน ควรใช้การแจ้งเตือน 1 ครั้งเท่านั้น ในเวลาที่กําหนด

พารามิเตอร์:alert_type (AlertType) - รหัส Enum ที่แทนการแจ้งเตือนประเภทที่มีอยู่
ON_ASSISTANT_ERROR = 12ไปหา

ระบุว่าคลัง Assistant พบข้อผิดพลาดหรือไม่

พารามิเตอร์:is_fatal (บูลีน) – หากเป็น "จริง" 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 หมดเวลาขณะรอคําค้นหาที่แยกแยะได้

ข้อผิดพลาดนี้อาจเกิดจากคําที่สะกดผิดหรือ Assistant ไม่เข้าใจสิ่งที่ผู้ใช้พูด

ON_DEVICE_ACTION = 14&nbsp

ระบุว่าได้ส่งคําขอการดําเนินการของอุปกรณ์ไปยังอุปกรณ์แล้ว

เมื่อส่งแล้วไวยากรณ์ของอุปกรณ์จะเรียกให้แสดงลักษณะที่อุปกรณ์รองรับ เหตุการณ์ประเภทนี้มีพร็อพเพอร์ตี้ "การกระทํา" พิเศษ ซึ่งจะแสดงผลคําสั่งตัววนซ้ําหรือการดําเนินการของอุปกรณ์ และพารามิเตอร์ที่เชื่อมโยงกับพร็อพเพอร์ตี้ดังกล่าว (หากมี)

พารามิเตอร์:dict – เพย์โหลด JSON ที่ถอดรหัสแล้วของคําขอการทํางานของอุปกรณ์
ON_END_OF_UTTERANCE = 3\">

Assistant หยุดฟังคําค้นหาของผู้ใช้แล้ว

Assistant คํานวณสิ่งที่คุณพูดไม่เสร็จ แต่หยุดฟังข้อมูลเสียงเพิ่มเติมแล้ว

ON_MEDIA_STATE_ERROR = 20ครั้ง

บ่งบอกว่าเกิดข้อผิดพลาดในการเล่นแทร็ก

โปรแกรมเล่นสื่อในตัวจะพยายามข้ามไปยังแทร็กถัดไปหรือกลับไปที่ ON_MEDIA_STATE_IDLE หากไม่มีอะไรเล่นไว้

ON_MEDIA_STATE_IDLE = 16&nbsp

บ่งบอกว่าไม่มีเนื้อหาที่กําลังเล่นและยังไม่มีคิวให้เล่น

เหตุการณ์นี้ออกอากาศจากโปรแกรมเล่นสื่อในตัวของคลัง Google Assistant สําหรับข่าว/พอดแคสต์เมื่อเริ่มต้นใช้งาน และเมื่อโปรแกรมเล่นไม่มีการทํางานเนื่องจากผู้ใช้หยุดสื่อหรือหยุดสื่อชั่วคราวและสตรีมหมดเวลาแล้ว

ON_MEDIA_TRACK_LOAD = 17&nbsp

ระบุว่ามีการโหลดแทร็กอยู่แต่ยังไม่ได้เริ่มเล่น

ระบบอาจส่งหลายครั้งหากโหลดข้อมูลเมตาใหม่แบบไม่พร้อมกัน ซึ่งปกติจะตามมาด้วยกิจกรรม ON_MEDIA_TRACK_PLAY

พารามิเตอร์:
  • metadata (dict) –

    ข้อมูลเมตาสําหรับแทร็กที่โหลด ช่องนี้จะยังไม่มีการป้อนข้อมูลทั้งหมด หากเป็นฟิลด์ที่ไม่รู้จัก จะไม่มีอยู่ ช่องข้อมูลเมตาประกอบด้วย

    album(str): ชื่ออัลบั้มที่มีแทร็กอยู่ album_art(str): URL ของปกอัลบั้ม artist(str): ศิลปินที่สร้างแทร็กนี้ duration_ms(double): ความยาวของแทร็กในหน่วยมิลลิวินาที title(str): ชื่อของแทร็ก
  • track_type (MediaTrackType) – ประเภทของแทร็กที่โหลด
ON_MEDIA_TRACK_PLAY = 18&nbsp

บ่งบอกว่ามีแทร็กที่กําลังส่งเสียง

ซึ่งจะทริกเกอร์ก็ต่อเมื่อเราย้ายจากรัฐหนึ่งไปยังอีกรัฐหนึ่งเท่านั้น เช่น จาก 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 (ดับเบิล) – ตําแหน่งปัจจุบันในแทร็กที่เล่นเป็นมิลลิวินาทีตั้งแต่เริ่มต้น หากไม่ทราบ "metadata.duration_ms" (ไม่ได้ตั้งค่าเป็น 0) ระบบจะไม่ตั้งค่าช่องนี้
  • track_type (MediaTrackType) – ประเภทของแทร็กที่เล่น
ON_MEDIA_TRACK_STOP = 19&nbsp

บ่งบอกว่าแทร็กที่เล่นอยู่ก่อนหน้าหยุดทํางาน

ซึ่งมักเกิดจากการที่ผู้ใช้หยุดชั่วคราว แทร็กจะกลับไปที่ ON_MEDIA_TRACK_PLAY ได้ หากผู้ใช้กลับมาทํางานอีกครั้ง

พารามิเตอร์:
  • metadata (dict) –

    ข้อมูลเมตาสําหรับแทร็กที่หยุดไว้ หากไม่ทราบฟิลด์ ช่องนั้นจะไม่ถูกรวม ช่องข้อมูลเมตาประกอบด้วย

    album(str): ชื่ออัลบั้มที่มีแทร็กอยู่ album_art(str): URL ของปกอัลบั้ม artist(str): ศิลปินที่สร้างแทร็กนี้ duration_ms(double): ความยาวของแทร็กในหน่วยมิลลิวินาที title(str): ชื่อของแทร็ก
  • position_ms (ดับเบิล) – ตําแหน่งปัจจุบันในแทร็กที่หยุดเป็นมิลลิวินาทีตั้งแต่เริ่มต้น หากไม่ทราบ "metadata.duration_ms" (ไม่ได้ตั้งค่าเป็น 0) ระบบจะไม่ตั้งค่าช่องนี้
  • track_type (MediaTrackType) – ประเภทของแทร็กหยุด
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&nbsp

บ่งบอกว่า Assistant มีเอาต์พุตข้อความที่จะแสดงสําหรับการตอบกลับ

พารามิเตอร์:
  • type (RenderResponseType) คือประเภทของการตอบกลับที่จะแสดง
  • text (str) – สตริงที่แสดงผลสําหรับ RenderResponseType.TEXT
ON_RESPONDING_FINISHED = 7\">

Assistant ตอบด้วยเสียงเสร็จแล้ว

ON_RESPONDING_STARTED = 6ครั้ง

Assistant เริ่มตอบสนองด้วยเสียง

Assistant จะตอบสนองจนกว่าจะได้รับ ON_RESPONDING_FINISHED

พารามิเตอร์:is_error_response (บูลีน) – จริง หมายถึงข้อผิดพลาดภายในที่ TTS กําลังเล่น มิฉะนั้น Assistant จะตอบสนองด้วยการตอบสนองของเซิร์ฟเวอร์
ON_START_FINISHED = 0

ไลบรารี Assistant เริ่มต้นทํางานเสร็จแล้ว

ชั้นเรียน google.assistant.library.event.IterableEventQueue(timeout=3600)=\"

ขยาย queue.Queue เพื่อเพิ่มอินเทอร์เฟซ __iter__

offer(กิจกรรม)\">

เสนอกิจกรรมที่จะจัดไว้ในคิว

หากคิวเต็มในขณะนี้ ระบบจะบันทึกกิจกรรมแต่จะเพิ่มไม่ได้

พารามิเตอร์:event (เหตุการณ์) – เหตุการณ์ที่พยายามเพิ่มลงในคิว
ชั้นเรียน google.assistant.library.event.MediaStateChangeEvent(event_type, args, **_)

ขยายเหตุการณ์เพื่อเพิ่มการแยกวิเคราะห์ของ "รัฐ"

ชั้นเรียน 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 หรือแทร็กคั่นระหว่างหน้าที่เกี่ยวข้องกับรายการ

ชั้นเรียน google.assistant.library.event.RenderResponseEvent(event_type, args, **_)

ขยายเหตุการณ์เพื่อเพิ่มการแยกวิเคราะห์ของ "response_type"

ชั้นเรียน google.assistant.library.event.RenderResponseType

ประเภทของเนื้อหาที่จะแสดงผล

ที่ใช้กับ ON_RENDER_RESPONSE