Indeks
EmbeddedAssistant
(interfejs)AudioInConfig
(komunikat)AudioInConfig.Encoding
(wyliczenie)AudioOut
(komunikat)AudioOutConfig
(komunikat)AudioOutConfig.Encoding
(wyliczenie)ConverseConfig
(komunikat)ConverseRequest
(komunikat)ConverseResponse
(komunikat)ConverseResponse.EventType
(wyliczenie)ConverseResult
(komunikat)ConverseResult.MicrophoneMode
(wyliczenie)ConverseState
(komunikat)
EmbeddedAssistant
Usługa, która korzysta z interfejsu Google Assistant API.
Converse | |
---|---|
Rozpoczyna lub kontynuuje rozmowę za pomocą wbudowanej usługi asystenta. Każde połączenie jest wysyłane w obie strony, wysyłane do usługi żądanie dźwiękowe i odbierane w odpowiedzi audio. Używa dwukierunkowego przesyłania strumieniowego do odbierania wyników, np. zdarzenia Rozmowa to co najmniej jedno połączenie gRPC, z których każde składa się z kilku przesyłanych strumieniowo żądań i odpowiedzi. Na przykład użytkownik powie Dodaj do mojej listy zakupów, a Asystent odpowie Co chcesz dodać?. Sekwencja przesyłanych strumieniowo żądań i odpowiedzi w pierwszym komunikacie gRPC mogłaby wyglądać tak:
Użytkownik mówi bajgle, a asystent odpowiada OK, dodałem bajgle do listy zakupów. Jest ono wysyłane jako kolejne wywołanie połączenia gRPC do metody
Chociaż dokładna kolejność odpowiedzi nie jest gwarantowana, kolejne komunikaty ConverseResponse.audio_out zawsze zawierają sekwencyjne fragmenty dźwięku.
|
AudioInConfig
Określa, jak przetwarzać dane audio_in
przekazywane w kolejnych żądaniach. Zalecane ustawienia znajdziesz w artykule o sprawdzonych metodach dotyczących interfejsu gRPC API Asystenta Google.
Pola | |
---|---|
encoding |
Wymagane kodowanie danych dźwiękowych wysyłanych we wszystkich wiadomościach typu |
sample_rate_hertz |
Wymagane – częstotliwość próbkowania (w hercach) danych dźwiękowych wysłanych we wszystkich wiadomościach typu |
Kodowanie
Kodowanie dźwięku danych wysłanych w wiadomości głosowej. Dźwięk musi być jednokanałowy (mono). Jedyny obsługiwany język to „en-US”.
Wartości w polu enum | |
---|---|
ENCODING_UNSPECIFIED |
Nie określono. Zwrócony wynik to google.rpc.Code.INVALID_ARGUMENT . |
LINEAR16 |
Nieskompresowane, podpisane 16-bitowe próbki little-endian (Linear PCM). Kodowanie nie obejmuje nagłówka, a jedynie nieprzetworzone bajty audio. |
FLAC |
Zalecane jest kodowanie FLAC (Free Lossless Audio Codec), ponieważ jest ono bezstratne, dzięki czemu rozpoznawanie nie jest zagrożone i wymaga tylko około połowy przepustowości LINEAR16 . To kodowanie obejmuje nagłówek strumienia FLAC , po którym następuje dane audio. Obsługuje on 16- i 24-bitowe próbki, ale nie wszystkie pola w STREAMINFO są obsługiwane. |
AudioOut
Nagranie z odpowiedzią asystenta na pytanie. Kolejne fragmenty danych dźwiękowych są odbierane w sekwencji komunikatów ConverseResponse
.
Pola | |
---|---|
audio_data |
Tylko dane wyjściowe – dane dźwiękowe zawierające odpowiedź asystenta na zapytanie. Kolejne fragmenty danych dźwiękowych są odbierane w sekwencji komunikatów |
AudioOutConfig
Określa format, który ma być używany przez serwer przy zwracaniu wiadomości audio_out
.
Pola | |
---|---|
encoding |
Wymagane kodowanie danych dźwiękowych, które mają być zwracane we wszystkich wiadomościach typu |
sample_rate_hertz |
Wymagane: częstotliwość próbkowania danych audio zwracanych w wiadomościach ( |
volume_percentage |
Wymagane: bieżące ustawienie głośności wyjścia audio urządzenia. Prawidłowe wartości to od 1 do 100 (odpowiadające 1%–100%). |
Kodowanie
Kodowanie dźwięku danych zwróconych w wiadomości głosowej. Wszystkie kodowanie są nieprzetworzonymi bajtami audio bez nagłówka, z wyjątkiem sytuacji opisanych poniżej.
Wartości w polu enum | |
---|---|
ENCODING_UNSPECIFIED |
Nie określono. Zwrócony wynik to google.rpc.Code.INVALID_ARGUMENT . |
LINEAR16 |
Nieskompresowane, podpisane 16-bitowe próbki little-endian (Linear PCM). |
MP3 |
Kodowanie audio MP3. Częstotliwość próbkowania jest kodowana w ładunku. |
OPUS_IN_OGG |
Dźwięk w kodowaniu opus zapakowany w kontenerze Ogg. Powstanie plik, który można natywnie odtwarzać na Androidzie i w niektórych przeglądarkach (np. Chrome). Jakość kodowania jest znacznie wyższa niż jakość MP3 przy tej samej szybkości transmisji bitów. Częstotliwość próbkowania jest kodowana w ładunku. |
ConverseConfig
Określa sposób przetwarzania wiadomości ConverseRequest
.
Pola | |
---|---|
audio_in_config |
Wymagane – określa sposób przetwarzania następnego dźwięku przychodzącego. |
audio_out_config |
Wymagane – określa sposób formatowania dźwięku, który ma być zwracany. |
converse_state |
Wymagane Reprezentuje bieżący stan okna. |
ConverseRequest
Wiadomość najwyższego poziomu wysłana przez klienta. Klienci muszą wysłać co najmniej dwie (zwykle dużą liczbę wiadomości) wiadomości ConverseRequest
. Pierwsza wiadomość musi zawierać wiadomość config
i nie może zawierać danych audio_in
. Wszystkie kolejne wiadomości muszą zawierać dane audio_in
i nie mogą zawierać wiadomości config
.
Pola | ||
---|---|---|
Pole sumy converse_request . W każdym polu ConverseRequest musisz podać dokładnie jedno z tych pól. converse_request może mieć tylko jedną z tych wartości: |
||
config |
Komunikat |
|
audio_in |
Dane dźwiękowe do rozpoznania. Kolejne fragmenty danych dźwiękowych są wysyłane w formie kolejnych komunikatów w trybie |
ConverseResponse
Wiadomość najwyższego poziomu odebrana przez klienta. Seria co najmniej jednej wiadomości w usłudze ConverseResponse
jest przesyłana z powrotem do klienta.
Pola | ||
---|---|---|
Pole sumy converse_response . W każdym polu ConverseResponse pojawi się tylko 1 z tych pól. converse_response może mieć tylko jedną z tych wartości: |
||
error |
Tylko dane wyjściowe Jeśli zasada jest ustawiona, zwraca komunikat |
|
event_type |
Tylko dane wyjściowe Wskazuje typ zdarzenia. |
|
audio_out |
Tylko dane wyjściowe – dźwięk zawierający odpowiedź asystenta na zapytanie. |
|
result |
Tylko dane wyjściowe – semantyczny wynik zapytania wypowiedzianego przez użytkownika. |
EventType
Wskazuje typ zdarzenia.
Wartości w polu enum | |
---|---|
EVENT_TYPE_UNSPECIFIED |
Nie określono zdarzenia. |
END_OF_UTTERANCE |
To zdarzenie oznacza, że serwer wykrył koniec wypowiedzi użytkownika i nie oczekuje żadnej dodatkowej mowy. Dlatego serwer nie przetwarza dodatkowego dźwięku (chociaż może później zwracać dodatkowe wyniki). Klient powinien przestać wysyłać dodatkowe dane audio, zamknąć do połowy połączenie gRPC i poczekać na dodatkowe wyniki, aż serwer zamknie połączenie gRPC. |
ConverseResult
Wynik semantyczny zapytania wypowiedzianego przez użytkownika.
Pola | |
---|---|
spoken_request_text |
Tylko dane wyjściowe – rozpoznawana transkrypcja wypowiedzi użytkownika. |
spoken_response_text |
Tylko dane wyjściowe – tekst odpowiedzi Asystenta. Zwracana jest tylko w przypadku działania IFTTT. |
conversation_state |
Tylko dane wyjściowe – informacje o stanie dla kolejnych zdarzeń typu |
microphone_mode |
Tylko dane wyjściowe – określa tryb mikrofonu po przetworzeniu tego wywołania RPC |
volume_percentage |
Tylko na wyjściu Zaktualizowano poziom głośności. Wartość może być równa 0 lub pomijana (co oznacza brak zmian), chyba że rozpoznano polecenie głosowe, np. „Zwiększ głośność” lub „Ustaw poziom głośności 4”. W takim przypadku wartość mieści się w zakresie od 1 do 100 (odpowiada nowemu poziomowi głośności od 1% do 100%). Zazwyczaj klient powinien używać tego poziomu głośności podczas odtwarzania danych |
MicrophoneMode
Możliwe stany mikrofonu po zakończeniu RPC Converse
.
Wartości w polu enum | |
---|---|
MICROPHONE_MODE_UNSPECIFIED |
Nie określono trybu. |
CLOSE_MICROPHONE |
Usługa nie oczekuje od użytkownika kolejnego pytania. Mikrofon powinien pozostać wyłączony, dopóki użytkownik go ponownie nie aktywuje. |
DIALOG_FOLLOW_ON |
Usługa oczekuje od użytkownika kolejnego pytania. Mikrofon powinien zostać ponownie włączony po zakończeniu odtwarzania elementu AudioOut (przez rozpoczęcie nowego wywołania RPC Converse w celu wysłania nowego dźwięku). |
ConverseState
Zawiera informacje o bieżącym stanie okna dialogowego.
Pola | |
---|---|
conversation_state |
Wymagane – wartość |