Gói google.assistant.library.
-
lớp
google.assistant.library.
Assistant
(credentials, device_model_id)¶ Ứng dụng cho Thư viện Trợ lý Google.
Cung cấp chức năng điều khiển cơ bản và xử lý vòng đời cho Trợ lý Google. Bạn nên sử dụng Trợ lý dưới dạng
ContextManager
:with Assistant(credentials, device_model_id) as assistant:
Điều này cho phép quá trình triển khai gốc cơ bản xử lý đúng cách việc quản lý bộ nhớ.
Sau khi
start()
được gọi, Trợ lý sẽ tạo một luồng Sự kiện chuyển tiếp nhiều trạng thái mà Trợ lý hiện đang ở, ví dụ: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}
Hãy xem
EventType
để biết thông tin chi tiết về tất cả sự kiện và đối số của các sự kiện đó.Bảng chú giải
Từ kích hoạt: Cụm từ mà Trợ lý lắng nghe khi không bị tắt tiếng:
"OK Google" OR "Hey Google"
Turn (Bật): Một yêu cầu của người dùng, theo sau là phản hồi của Trợ lý.
Cuộc trò chuyện: Một hoặc nhiều lượt dẫn đến kết quả cuối cùng mong muốn từ Trợ lý:
"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!"
Các thông số: - credentials (google.oauth2.credentials.Credentials) – Thông tin xác thực OAuth2 của Google của người dùng.
- device_model_id (str) – device_model_id đã được đăng ký cho dự án của bạn với Google. Chuỗi này không được để trống.
Tăng: ValueError
– Nếudevice_model_id
được để trống hoặc là None.-
device_id
¶ Trả về mã thiết bị do Trợ lý tạo.
Giá trị này xác định thiết bị của bạn với máy chủ khi sử dụng các dịch vụ như Hành động trên thiết bị của Google. Thuộc tính này chỉ được điền SAU khi gọi
start()
.Trả về: Mã thiết bị sau khi gọi start()
, nếu không thì là chuỗi trống.Loại dữ liệu trả về: str
-
send_text_query
(truy vấn)¶ Gửi |query| đến Trợ lý như thể người dùng đã nói.
Thao tác này sẽ hoạt động giống như khi người dùng nói cụm từ kích hoạt và đưa ra truy vấn HOẶC nói câu trả lời cho truy vấn tiếp theo.
Các thông số: query (str) – Truy vấn văn bản cần gửi đến Trợ lý.
-
set_mic_mute
(is_muted)¶ Dừng Trợ lý nghe cụm từ kích hoạt.
Cho phép tắt tính năng Trợ lý lắng nghe cụm từ kích hoạt. Nút này cung cấp chức năng tương tự như nút chế độ riêng tư ở mặt sau của Google Home.
Phương thức này không hoạt động nếu Trợ lý chưa được khởi động.
Các thông số: is_muted (bool) – True ngăn Trợ lý nghe và False cho phép Trợ lý bắt đầu lại.
-
start
()¶ Bắt đầu Trợ lý, bao gồm cả việc nghe cụm từ kích hoạt.
Sau khi
start()
được gọi, Trợ lý sẽ bắt đầu xử lý dữ liệu từ nguồn âm thanh ALSA "mặc định", nghe cụm từ kích hoạt. Thao tác này cũng sẽ khởi động các dịch vụ khác do Trợ lý cung cấp, chẳng hạn như bộ hẹn giờ/chuông báo. Phương thức này chỉ có thể được gọi một lần. Sau khi được gọi, Trợ lý sẽ tiếp tục chạy cho đến khi__exit__
được gọi.Trả về: Hàng đợi sự kiện thông báo về các thay đổi đối với trạng thái của Trợ lý. Loại dữ liệu trả về: google.assistant.event.IterableEventQueue
-
start_conversation
()¶ Bắt đầu cuộc trò chuyện mới với Trợ lý theo cách thủ công.
Bắt đầu cả việc ghi lại lời nói của người dùng và gửi lời nói đó đến Google, tương tự như những gì xảy ra khi Trợ lý nghe thấy cụm từ kích hoạt.
Phương thức này không hoạt động nếu Trợ lý chưa khởi động hoặc đã bị tắt tiếng.
-
stop_conversation
()¶ Dừng mọi cuộc trò chuyện đang diễn ra với Trợ lý.
Trợ lý có thể đang nghe truy vấn của người dùng HOẶC đang trả lời. Nếu không có cuộc trò chuyện nào đang hoạt động, thì thao tác này sẽ không thực hiện được.
-
class
google.assistant.library.event.
AlertEvent
(event_type, args, **_)¶ Mở rộng sự kiện để thêm tính năng phân tích cú pháp "alert_type".
-
lớp
google.assistant.library.event.
AlertType
¶ Loại cảnh báo.
Dùng với các sự kiện
ON_ALERT_STARTED
vàON_ALERT_FINISHED
.-
ALARM
= 0¶ Sự kiện được đặt theo thời gian tuyệt đối, chẳng hạn như "3 giờ sáng thứ Hai"
-
TIMER
= 1¶ Một sự kiện được đặt cho một thời gian tương đối, chẳng hạn như "30 giây kể từ bây giờ"
-
-
lớp
google.assistant.library.event.
DeviceActionEvent
(event_type, args, **kwargs)¶ Mở rộng Sự kiện để thêm thuộc tính "actions".
-
actions
¶ Trình tạo lệnh để thực thi cho thiết bị hiện tại.
-
-
class
google.assistant.library.event.
Event
(event_type, args, **_)¶ Một sự kiện do Trợ lý tạo.
-
type
¶ EventType – Loại sự kiện đã được tạo.
-
args
¶ dict – Các cặp khoá/giá trị đối số liên kết với sự kiện này.
-
static
New
(event_type, args, **kwargs)¶ Tạo sự kiện mới bằng cách sử dụng lớp Sự kiện chuyên biệt khi cần.
Các thông số: - event_type (int) – Mã số tương ứng với một sự kiện trong google.assistant.event.EventType.
- args (dict) – Các cặp khoá/giá trị đối số liên kết với sự kiện này.
- kwargs (dict) – Các cặp khoá/giá trị đối số không bắt buộc dành riêng cho một chuyên môn của lớp Sự kiện cho một EventType.
-
-
lớp
google.assistant.library.event.
EventType
¶ Loại sự kiện.
-
ON_ALERT_FINISHED
= 11¶ Cho biết cảnh báo của
alert_type
đã kết thúc phát âm thanh.Các thông số: alert_type (AlertType) – Mã của Enum đại diện cho loại cảnh báo vừa kết thúc.
-
ON_ALERT_STARTED
= 10¶ Cho biết một cảnh báo đã bắt đầu phát ra.
Cảnh báo này sẽ tiếp tục cho đến khi nhận được
ON_ALERT_FINISHED
có cùngalert_type
. Chỉ một cảnh báo được kích hoạt tại một thời điểm bất kỳ.Các thông số: alert_type (AlertType) – Mã của Enum đại diện cho loại cảnh báo đang phát.
-
ON_ASSISTANT_ERROR
= 12¶ Cho biết liệu thư viện Trợ lý có gặp lỗi hay không.
Các thông số: is_fatal (bool) – Nếu là True, Trợ lý sẽ không thể khôi phục và cần được khởi động lại.
-
ON_CONVERSATION_TURN_FINISHED
= 9¶ Trợ lý đã hoàn tất lượt rẽ hiện tại.
Điều này bao gồm cả việc xử lý truy vấn của người dùng và nói toàn bộ nội dung phản hồi (nếu có).
Các thông số: with_follow_on_turn (bool) – Nếu là True, Trợ lý đang chờ người dùng tương tác tiếp. Micrô sẽ được mở lại để cho phép người dùng trả lời câu hỏi tiếp theo.
-
ON_CONVERSATION_TURN_STARTED
= 1¶ Cho biết một ngã rẽ mới đã bắt đầu.
Trợ lý hiện đang nghe, chờ truy vấn của người dùng. Điều này có thể là do nghe thấy cụm từ kích hoạt hoặc
start_conversation()
được gọi trên Trợ lý.
-
ON_CONVERSATION_TURN_TIMEOUT
= 2¶ Trợ lý đã hết thời gian chờ một truy vấn rõ ràng.
Nguyên nhân có thể là do cụm từ kích hoạt bị kích hoạt nhầm hoặc Trợ lý không hiểu được người dùng nói gì.
-
ON_DEVICE_ACTION
= 14¶ Cho biết rằng yêu cầu Hành động trên thiết bị đã được gửi đến thiết bị.
Lệnh này được gửi nếu bất kỳ Ngữ pháp thiết bị nào được kích hoạt cho các tính năng mà thiết bị hỗ trợ. Loại sự kiện này có một thuộc tính "actions" đặc biệt sẽ trả về một trình lặp hoặc lệnh Hành động trên thiết bị và các tham số liên kết với chúng (nếu có).
Các thông số: dict – Gói dữ liệu JSON đã giải mã của yêu cầu Hành động trên thiết bị.
-
ON_END_OF_UTTERANCE
= 3¶ Trợ lý đã ngừng nghe cụm từ tìm kiếm của người dùng.
Trợ lý có thể chưa hoàn tất việc tìm hiểu nội dung người dùng đã nói nhưng đã ngừng nghe thêm dữ liệu âm thanh.
-
ON_MEDIA_STATE_ERROR
= 20¶ Cho biết đã xảy ra lỗi khi phát một bản nhạc.
Trình phát nội dung nghe nhìn tích hợp sẽ cố gắng chuyển sang bản nhạc tiếp theo hoặc quay lại
ON_MEDIA_STATE_IDLE
nếu không còn gì để phát.
-
ON_MEDIA_STATE_IDLE
= 16¶ Cho biết không có nội dung nào đang phát và không có nội dung nào trong hàng đợi phát.
Sự kiện này được phát từ trình phát nội dung đa phương tiện tích hợp sẵn của Thư viện Trợ lý Google cho tin tức/podcast khi khởi động và bất cứ khi nào trình phát chuyển sang trạng thái rảnh do người dùng dừng hoặc tạm dừng nội dung đa phương tiện và luồng đã hết thời gian chờ.
-
ON_MEDIA_TRACK_LOAD
= 17¶ Cho biết một bản nhạc đang tải nhưng chưa bắt đầu phát.
Lệnh này có thể được gửi nhiều lần nếu siêu dữ liệu mới được tải không đồng bộ. Sau đó, sự kiện
ON_MEDIA_TRACK_PLAY
thường xuất hiệnCác thông số: - metadata (dict) –
Siêu dữ liệu cho bản nhạc đã tải. Không phải tất cả các trường đều được điền vào thời điểm này – nếu không xác định được trường, trường đó sẽ không được đưa vào. Các trường siêu dữ liệu bao gồm:
album(str): Tên của đĩa nhạc chứa bản nhạc. album_art(str): URL của ảnh bìa đĩa nhạc. artist(str): Nghệ sĩ đã tạo bản nhạc này. duration_ms(double): Thời lượng của bản nhạc này tính bằng mili giây. title(str): Tên của bản nhạc. - track_type (MediaTrackType) – Loại kênh đã tải.
- metadata (dict) –
-
ON_MEDIA_TRACK_PLAY
= 18¶ Cho biết một bản nhạc hiện đang phát âm thanh.
Điều này sẽ chỉ kích hoạt khi chúng ta chuyển đổi từ trạng thái này sang trạng thái khác, chẳng hạn như từ
ON_MEDIA_TRACK_LOAD
hoặcON_MEDIA_TRACK_STOP
Các thông số: - metadata (dict) –
Siêu dữ liệu của bản nhạc đang phát. Nếu không xác định được trường, trường đó sẽ không được đưa vào. Các trường siêu dữ liệu bao gồm:
album(str): Tên của đĩa nhạc chứa bản nhạc. album_art(str): URL của ảnh bìa đĩa nhạc. artist(str): Nghệ sĩ đã tạo bản nhạc này. duration_ms(double): Thời lượng của bản nhạc này tính bằng mili giây. title(str): Tên của bản nhạc. - position_ms (double) – Vị trí hiện tại trong một bản nhạc đang phát tính theo mili giây kể từ đầu. Nếu "metadata.duration_ms" không xác định (được đặt thành 0), trường này sẽ không được đặt.
- track_type (MediaTrackType) – Loại bản nhạc đang phát.
- metadata (dict) –
-
ON_MEDIA_TRACK_STOP
= 19¶ Cho biết một bản nhạc đang phát trước đó đã bị dừng.
Điều này thường là do người dùng tạm dừng; bản nhạc có thể trở lại trạng thái
ON_MEDIA_TRACK_PLAY
nếu người dùng tiếp tục phát.Các thông số: - metadata (dict) –
Siêu dữ liệu của kênh đã dừng. Nếu không xác định được trường, trường đó sẽ không được đưa vào. Các trường siêu dữ liệu bao gồm:
album(str): Tên của đĩa nhạc chứa bản nhạc. album_art(str): URL của ảnh bìa đĩa nhạc. artist(str): Nghệ sĩ đã tạo bản nhạc này. duration_ms(double): Thời lượng của bản nhạc này tính bằng mili giây. title(str): Tên của bản nhạc. - position_ms (double) – Vị trí hiện tại trong một bản nhạc đã dừng tính bằng mili giây kể từ đầu. Nếu "metadata.duration_ms" không xác định (được đặt thành 0), trường này sẽ không được đặt.
- track_type (MediaTrackType) – Loại kênh đã dừng.
- metadata (dict) –
-
ON_MUTED_CHANGED
= 13¶ Cho biết Trợ lý hiện đang nghe hay không.
start()
sẽ luôn tạo mộtON_MUTED_CHANGED
để báo cáo giá trị ban đầu.Các thông số: is_muted (bool) – Nếu là True thì Trợ lý hiện không nghe từ kích hoạt và sẽ không phản hồi truy vấn của người dùng.
-
ON_NO_RESPONSE
= 8¶ Trợ lý đã hoàn tất lượt của mình nhưng không có gì để nói.
-
ON_RECOGNIZING_SPEECH_FINISHED
= 5¶ Trợ lý đã xác định lời nói được nhận dạng cuối cùng.
Các thông số: text (str) – Nội dung diễn giải văn bản cuối cùng của cụm từ tìm kiếm của người dùng.
-
ON_RENDER_RESPONSE
= 15¶ Cho biết Trợ lý có đầu ra văn bản để hiển thị cho một câu trả lời.
Các thông số: - type (RenderResponseType) – Loại phản hồi cần hiển thị.
- text (str) – Chuỗi để hiển thị cho RenderResponseType.TEXT.
-
ON_RESPONDING_FINISHED
= 7¶ Trợ lý đã hoàn tất việc phản hồi bằng giọng nói.
-
ON_RESPONDING_STARTED
= 6¶ Trợ lý đang bắt đầu phản hồi bằng giọng nói.
Trợ lý sẽ phản hồi cho đến khi nhận được
ON_RESPONDING_FINISHED
.Các thông số: is_error_response (bool) – True có nghĩa là đang phát lỗi TTS cục bộ, nếu không, Trợ lý sẽ phản hồi bằng phản hồi của máy chủ.
-
ON_START_FINISHED
= 0¶ Thư viện Trợ lý đã khởi động xong.
-
-
lớp
google.assistant.library.event.
IterableEventQueue
(timeout=3600)¶ Mở rộng queue.Queue để thêm giao diện
__iter__
.
-
class
google.assistant.library.event.
MediaStateChangeEvent
(event_type, args, **_)¶ Mở rộng sự kiện để thêm tính năng phân tích cú pháp "trạng thái".
-
lớp
google.assistant.library.event.
MediaTrackType
¶ Các loại kênh cho sự kiện ON_MEDIA_TRACK_X.
Dùng với
ON_MEDIA_TRACK_LOAD
,ON_MEDIA_TRACK_PLAY
, &ON_MEDIA_TRACK_STOP
-
CONTENT
= 2¶ Nội dung thực tế của một mục (tin tức/podcast).
-
TTS
= 1¶ Video giới thiệu bằng công nghệ TTS hoặc video chèn liên quan đến một mặt hàng.
-
-
class
google.assistant.library.event.
RenderResponseEvent
(event_type, args, **_)¶ Mở rộng Sự kiện để thêm tính năng phân tích cú pháp "response_type".
-
lớp
google.assistant.library.event.
RenderResponseType
¶ Các loại nội dung cần hiển thị.
Được dùng với
ON_RENDER_RESPONSE