Google Assistant Library

google.assistant.library.

lớp google.assistant.library.Assistant(thông tin đăng nhập, device_model_id)

Ứng dụng của 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. Cách tốt nhất là sử dụng Trợ lý 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}

Xem EventType để biết chi tiết trên mọi sự kiện và đối số của chúng.

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"
    
  • Lượt: Một yêu cầu của người dùng, sau đó là câu trả lời của Trợ lý.

  • Cuộc trò chuyện: Một hoặc nhiều lượt rẽ 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 Google OAuth2 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. Giá trị này không được là một chuỗi trống.
Mức tăng:

ValueError – Nếu device_model_id được để là Không có hoặc để trống.

device_id

Trả về mã thiết bị do Trợ lý tạo.

Giá trị này nhận dạng thiết bị của bạn với máy chủ khi sử dụng dịch vụ chẳng hạn như Google Device Actions (Thao tác trên thiết bị). Thuộc tính này chỉ được điền SAU Đã gọi start().

Trả về:Mã thiết bị một lần start() có được gọi, 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.

Điều này sẽ hoạt động giống như người dùng nói cụm từ kích hoạt và thực hiện một truy vấn HOẶC nói câu trả lời cho một truy vấn tiếp theo.

Các thông số:query (str) – Cụm từ tìm kiếm bằng văn bản cần gửi đến Trợ lý.
set_mic_mute(is_muted)

Ngăn Trợ lý nghe cụm từ kích hoạt.

Cho phép tắt 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ý lắng nghe và False ngăn Trợ lý lắng nghe cho phép ứng dụng khởi động lại.
start()

Khởi động Trợ lý, bao gồm cả việc nghe một 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. Một lần đã gọi, Trợ lý sẽ tiếp tục chạy cho đến __exit__ sẽ đượ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 một 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 đã đã 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 diễn ra, đây là cuộc trò chuyện không hoạt động.

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 ON_ALERT_STARTEDON_ALERT_FINISHED sự kiện.

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 thời gian tương đối, chẳng hạn như "30 giây 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 các 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ặp giá trị/khoá đố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 cảnh báo đã bắt đầu phát ra âm thanh.

Cảnh báo này sẽ tiếp tục cho đến khi nhận được ON_ALERT_FINISHED có cùng alert_type. Chỉ được có một cảnh báo hoạt động tại một thời điểm bất kỳ.

Các thông số:alert_type (AlertType) – Mã Enum đại diện cho của loại cảnh báo này.
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ý đã chạy xong chặng 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ộ phản hồi, nếu có.

Các thông số:with_follow_on_turn (bool) – Nếu True, Trợ lý sẽ mong đợi tương tác tiếp theo từ người dùng. 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 đi nếu bất kỳ Ngữ pháp thiết bị nào được kích hoạt cho đặc điểm được 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.

Có thể Trợ lý chưa hiểu xong người dùng nói gì, nhưng thiết bị đã ngừng nghe để thu thập thêm dữ liệu âm thanh.

ON_MEDIA_STATE_ERROR = 20

Cho biết đã xảy ra lỗi khi phá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 được đưa vào hàng đợi để phát.

Sự kiện này được truyền 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 nghe nhì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 đi nhiều lần nếu siêu dữ liệu mới được tải một cách không đồng bộ. Sau đó, sự kiện ON_MEDIA_TRACK_PLAY thường xuất hiện

Các thông số:
  • siêu dữ liệu (dict) –

    Siêu dữ liệu của bản nhạc đã tải. Không phải trường nào cũng được điền vào thời điểm này – nếu một trường không xác định thì trường này 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 album chứa bản nhạc đó. album_art(str): URL của ảnh bìa đĩa nhạc. nghệ sĩ(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): Tiêu đề của bản nhạc.
  • track_type (MediaTrackType) – Loại kênh đã tải.
ON_MEDIA_TRACK_PLAY = 18

Cho biết một bản nhạc hiện đang phát âm thanh.

Lệnh này chỉ kích hoạt khi chúng ta chuyển giao 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ặc ON_MEDIA_TRACK_STOP

Các thông số:
  • siêu dữ liệu (dict) –

    Siêu dữ liệu của bản nhạc đang phát. Nếu một trường không xác định nó sẽ không được bao gồm. Các trường siêu dữ liệu bao gồm:

    album(str): Tên của album chứa bản nhạc đó. album_art(str): URL của ảnh bìa đĩa nhạc. nghệ sĩ(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): Tiêu đề 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.
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 ON_MEDIA_TRACK_PLAY nếu là được người dùng tiếp tục.

Các thông số:
  • metadata (dict) –

    Siêu dữ liệu của bản nhạc bị dừng. Nếu một trường không xác định nó sẽ không được bao gồm. 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 (2) – Vị trí hiện tại trong bản nhạc đã dừng trong 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.
ON_MUTED_CHANGED = 13

Cho biết Trợ lý có đang lắng nghe hay không.

start() sẽ luôn tạo một ON_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ó văn bản đầu ra để kết xuất cho một phản hồi.

Các thông số:
  • type (RenderResponseType) – Loại phản hồi cần hiển thị.
  • text (str) – Chuỗi cần 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 ON_RESPONDING_FINISHED đã được nhận.

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 hàng đợi.Hàng đợi để thêm giao diện __iter__.

offer(sự kiện)

Cung cấp một sự kiện để đưa vào hàng đợi.

Nếu hàng đợi hiện đã đầy, sự kiện sẽ được ghi lại nhưng không được thêm.

Các thông số:event (Sự kiện) – Sự kiện cần thêm vào hàng đợi.
class google.assistant.library.event.MediaStateChangeEvent(event_type, args, **_)

Mở rộng Sự kiện để thêm 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.

Được 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

Phần giới thiệu TTS hoặc đoạn quảng cáo xen kẽ có liên quan đến một mục.

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 sẽ hiển thị.

Được dùng với ON_RENDER_RESPONSE