Google Assistant Library

google.assistant.library.

class google.assistant.library.Assistant(bằng chứng xác thực, device_model_id)

Ứng dụng dành 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. Cách tốt nhất để sử dụng Trợ lý là ContextManager:

with Assistant(credentials, device_model_id) as assistant:

Điều này cho phép phương thức 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 hiện tại của Trợ lý, chẳng hạn như:

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ả các sự kiện và đối số của các sự kiện đó.

Bảng chú giải

  • Từ nóng: 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, theo sau là câu trả lờ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!"
    
Thông số:
  • credentials (google.oauth2.credentials.Credentials) – Thông tin đăng nhập 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. Đây không được là một chuỗi trống.
Tăng:

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

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ư Google Device Actions. Thuộc tính này chỉ được điền SAU khi start() được gọi.

Trả về:Mã thiết bị một khi start() đã được gọi, nếu không thì sẽ để trống chuỗi.
Loại dữ liệu trả về:chuỗi
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ư việc người dùng nói một từ nóng và tạo một truy vấn HOẶC đọc câu trả lời cho một truy vấn tiếp theo.

Thông số:query (str) – Truy vấn văn bản cần gửi tới Trợ lý.
set_mic_mute(bị tắt tiếng)

Ngăn Trợ lý lắng nghe từ nóng.

Cho phép Trợ lý tắt tính năng nghe từ nóng. Nút này cung cấp chức năng tương tự như nút bảo mậ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 khởi động.

Thông số:is_muted (bool) – True sẽ ngăn Trợ lý lắng nghe và False sẽ cho phép Trợ lý bắt đầu lại.
start()

Khởi động 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 từ nóng. Thao tác này cũng sẽ bắt đầu các dịch vụ khác do Trợ lý cung cấp, chẳng hạn như báo thức/báo thức. 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 gọi __exit__.

Trả về:Hàng đợi các sự kiện thông báo về những 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ả khi ghi lại lời nói của người dùng và gửi đến Google, tương tự như khi Trợ lý nghe thấy từ nóng.

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ể lắng nghe truy vấn của người dùng HOẶC trả lời. Nếu không có cuộc trò chuyện nào đang diễn ra, thì đây là trường hợp không hoạt động.

lớp google.assistant.library.event.AlertEvent(event_type, args, **_)

Mở rộng Sự kiện để thêm phân tích cú pháp của ‘alert_type’.

lớp google.assistant.library.event.AlertType

Loại cảnh báo.

Được sử dụng với các sự kiện ON_ALERT_STARTEDON_ALERT_FINISHED.

ALARM = 0

Một sự kiện được đặt cho thời gian tuyệt đối, chẳng hạn như "3 giờ sáng ngày 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ờ’

class google.assistant.library.event.DeviceActionEvent(event_type, args, **kwargs)

Mở rộng Sự kiện để thêm thuộc tính "hành động".

actions

Trình tạo lệnh để thực thi cho thiết bị hiện tại.

lớp 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ặp khóa/giá trị đối số được liên kết với sự kiện này.

tĩnh New(event_type, args, **kwargs)

Tạo sự kiện mới bằng cách sử dụng một lớp Sự kiện chuyên biệt khi cần.

Thông số:
  • event_type (int) – Mã nhận dạng bằng số tương ứng với một sự kiện trong google.assistant.event.EventType.
  • args (dict) – Cặp khoá/giá trị đối số liên kết với sự kiện này.
  • kwargs (dict) – Cặp khoá/giá trị đối số tuỳ chọn 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 đã phát xong âm thanh.

Thông số:alert_type (AlertType) – Mã nhận dạng của Enum thể hiện 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.

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ỉ một cảnh báo phải hoạt động tại thời điểm bất kỳ.

Thông số:alert_type (AlertType) – Mã nhận dạng của Enum thể hiện loại cảnh báo hiện đang nghe.
ON_ASSISTANT_ERROR = 12

Cho biết liệu thư viện Trợ lý có gặp lỗi hay không.

Thông số:is_tal (bool) – Nếu là True thì Trợ lý sẽ không thể khôi phục và cần khởi động lại.
ON_CONVERSATION_TURN_FINISHED = 9

Trợ lý đã hoàn thành lượt đi 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à đọc toàn bộ phản hồi, nếu có.

Thông số:with_follow_on_turn (bool) – Nếu là True, Trợ lý sẽ yêu cầu người dùng tương tác. 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 lắng nghe, đang chờ truy vấn của người dùng. Đó có thể là do bạn 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ờ truy vấn có thể nhận rõ.

Nguyên nhân có thể là do từ kích hoạt sai từ nóng hoặc Trợ lý không hiểu được nội dung người dùng đã nói.

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ị.

Thao tác này sẽ được gửi đi nếu bất kỳ Ngữ pháp thiết bị nào được kích hoạt cho các đặc điểm mà thiết bị hỗ trợ. Loại sự kiện này có một thuộc tính "actions" đặc biệt. Thuộc tính này sẽ trả về các lệnh lặp hoặc đối tượng Device Action cùng với các thông số liên quan đến chúng (nếu có).

Thông số:dict – Tải trọng 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ý đã dừng lắng nghe truy vấn của người dùng.

Trợ lý có thể chưa hoàn tất việc hiểu người dùng đã nói gì nhưng đã dừng nghe thêm dữ liệu âm thanh.

ON_MEDIA_STATE_ERROR = 20

Biểu thị đã xảy ra lỗi khi phát tuyến đường.

Media Player được tích hợp sẵn sẽ cố gắng chuyển đến bản nhạc tiếp theo hoặc quay lại ON_MEDIA_STATE_IDLE nếu không còn nội dung nào để phát.

ON_MEDIA_STATE_IDLE = 16

Cho biết rằng không có nội dung nào đang phát và không có nội dung nào xếp hàng đợi để phát.

Sự kiện này được phát từ trình phát nội dung nghe nhìn tích hợp của Thư viện Trợ lý Google để phát tin tức/podcast khi khởi động và bất cứ khi nào trình phát không hoạt động vì người dùng đã dừng nội dung đa phương tiện hoặc tạm dừng nội dung đó và luồng đã hết thời gian chờ.

ON_MEDIA_TRACK_LOAD = 17

Cho biết bản nhạc đang tải nhưng chưa bắt đầu phát.

Quá trì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 không đồng bộ. Tiếp sau sự kiện là ON_MEDIA_TRACK_PLAY

Thông số:
  • siêu dữ liệu (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 trước thời điểm này – nếu một trường không xác định, trường đó 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 cho ảnh bìa đĩa nhạc.artist(str): Nghệ sĩ đã tạo bản nhạc này.duration_ms(double): Độ dài của bản nhạc tính bằng mili giây. title(str): Tiêu đề của bản nhạc.
  • track_type (MediaTrackType) – Loại bản nhạc được tải.
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ặc ON_MEDIA_TRACK_STOP

Thông số:
  • siêu dữ liệu (dict) –

    Siêu dữ liệu cho bản nhạc đang phát. Nếu một trường không xác định, trường đó 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 cho ảnh bìa đĩa nhạc.artist(str): Nghệ sĩ đã tạo bản nhạc này.duration_ms(double): Độ dài của bản nhạc 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 bản nhạc đang phát, 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 bản nhạc đang phát.
ON_MEDIA_TRACK_STOP = 19

Cho biết rằng một bản nhạc đang phát trước đó đã bị dừng.

Việc này thường là do người dùng tạm dừng; bản nhạc có thể quay lại ON_MEDIA_TRACK_PLAY nếu người dùng tiếp tục.

Thông số:
  • siêu dữ liệu (dict) –

    Siêu dữ liệu của kênh đã dừng. Nếu một trường không xác định, trường đó 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 cho ảnh bìa đĩa nhạc.artist(str): Nghệ sĩ đã tạo bản nhạc này.duration_ms(double): Độ dài của bản nhạc 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 đã 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 bản nhạc đã dừng.
ON_MUTED_CHANGED = 13

Cho biết Trợ lý hiện đang nghe hay không.

start() sẽ luôn tạo một ON_MUTED_CHANGED để báo cáo giá trị ban đầu.

Thông số:is_muted (bool) – Nếu là True thì Trợ lý hiện không lắng nghe từ nóng và sẽ không phản hồi các truy vấn của người dùng.
ON_NO_RESPONSE = 8

Trợ lý đã hoàn tất thành công lượt đi nhưng không có gì để nói.

ON_RECOGNIZING_SPEECH_FINISHED = 5

Trợ lý đã xác định giọng nói cuối cùng được nhận dạng.

Thông số:văn_bản (str) – Diễn giải văn bản cuối cùng của truy vấn 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 phản hồi.

Thông số:
  • loại (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ý đã trả lời bằng giọng nói xong.

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.

Thông số:is_error_response (bool) – Đúng nghĩa là đang phát một lỗi TTS cục bộ, nếu không Trợ lý sẽ phản hồi bằng một phản hồi của máy chủ.
ON_START_FINISHED = 0

Thư viện Trợ lý đã bắt đầu 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 vào.

Thông số:event (Sự kiện) – Sự kiện cần thêm vào hàng đợi.
lớp 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 bản nhạc cho sự kiện ON_MEDIA_TRACK_X.

Được sử dụng với ON_MEDIA_TRACK_LOAD, ON_MEDIA_TRACK_PLAYON_MEDIA_TRACK_STOP

CONTENT = 2

Nội dung thực tế của một mục (tin tức/podcast).

TTS = 1

Giới thiệu TTS hoặc bản nhạc chuyển tiếp liên quan đến mục.

lớp google.assistant.library.event.RenderResponseEvent(event_type, args, **_)

Mở rộng Sự kiện để thêm phân tích cú pháp của ‘response_type’.

lớp google.assistant.library.event.RenderResponseType

Các loại nội dung cần hiển thị.

Được sử dụng với ON_RENDER_RESPONSE