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ść |