Package google.assistant.embedded.v1alpha2

Dizin

EmbeddedAssistant

Google Asistan API'sini uygulayan hizmet.

Asist

rpc Assist(AssistRequest) returns (AssistResponse)

Yerleştirilmiş Asistan Hizmeti'ni başlatır veya konuşmaya devam eder. Her arama, bir gidiş dönüş gerçekleştirerek hizmete bir sesli istek gönderir ve sesli yanıtı alır. Ses gönderirken END_OF_UTTERANCE etkinliği gibi sonuçları almak için çift yönlü akışı kullanır.

Bir ileti dizisi, her biri akışlı birkaç istek ve yanıttan oluşan bir veya daha fazla gRPC bağlantısıdır. Örneğin, kullanıcı Alışveriş listeme ekle diyor ve Asistan, Ne eklemek istiyorsunuz? diye yanıt verir. İlk gRPC mesajındaki akışlı istek ve yanıtların sırası şöyle olabilir:

  • AssistRequest.config
  • AssistRequest.audio_in
  • AssistRequest.audio_in
  • AssistRequest.audio_in
  • AssistRequest.audio_in
  • AssistResponse.event_type.END_OF_UTTERANCE
  • AssistResponse.speech_results.transcript "alışveriş listeme ekle"
  • AssistResponse.dialog_state_out.microphone_mode.DIALOG_FOLLOW_ON
  • AssistResponse.audio_out
  • AssistResponse.audio_out
  • AssistResponse.audio_out

Daha sonra kullanıcı bagel diyor ve Asistan, Tamam, alışveriş listenize bagel ekledim yanıtı verir. Bu, yine akışlı istek ve yanıtlarla birlikte Assist yöntemine başka bir gRPC bağlantı çağrısı olarak gönderilir. Örneğin:

  • AssistRequest.config
  • AssistRequest.audio_in
  • AssistRequest.audio_in
  • AssistRequest.audio_in
  • AssistResponse.event_type.END_OF_UTTERANCE
  • AssistResponse.dialog_state_out.microphone_mode.CLOSE_MICROPHONE
  • AssistResponse.audio_out
  • AssistResponse.audio_out
  • AssistResponse.audio_out
  • AssistResponse.audio_out

Yanıtların tam sırası garanti edilmese de, sıralı AssistResponse.audio_out mesajlarında her zaman sesin sıralı bölümleri bulunur.

Yetkilendirme Kapsamları

Aşağıdaki OAuth kapsamını gerektirir:

  • https://www.googleapis.com/auth/assistant-sdk-prototype

Daha fazla bilgi için Kimlik Doğrulama Kılavuzu'na bakın.

AssistConfig

AssistRequest mesajlarının nasıl işleneceğini belirtir.

Alanlar
audio_out_config

AudioOutConfig

Gerekli Döndürülecek sesin nasıl biçimlendirileceğini belirtir.

screen_out_config

ScreenOutConfig

İsteğe bağlı Sunucu görsel bir ekran yanıtı döndürdüğünde kullanılması istenen biçimi belirtir.

dialog_state_in

DialogStateIn

Gerekli Mevcut iletişim kutusu durumunu gösterir.

device_config

DeviceConfig

Belirli bir cihazı benzersiz şekilde tanımlayan cihaz yapılandırmasıdır.

debug_config

DebugConfig

İsteğe bağlı Tüm Assist RPC'si için hata ayıklama parametreleri.

type alanı.

type şunlardan yalnızca biri olabilir:

audio_in_config

AudioInConfig

Sonraki gelen sesin nasıl işleneceğini belirtir. Sonraki isteklerde AssistRequest.audio_in bayt sağlanacaksa gereklidir.

text_query

string

Asistan'a gönderilecek metin girişi. Ses girişi yoksa bu alan bir metin arayüzünden doldurulabilir.

AssistRequest

İstemci tarafından gönderilen üst düzey mesaj. İstemcilerin en az iki ve genellikle birden fazla AssistRequest mesajı göndermesi gerekir. İlk mesaj bir config mesajı içermeli ve audio_in verisi içermemelidir. Sonraki tüm mesajlar audio_in verisi içermeli ve config mesajı içermemelidir.

Alanlar
type alanı. Her AssistRequest için bu alanlardan tam olarak biri belirtilmelidir. type şunlardan yalnızca biri olabilir:
config

AssistConfig

config mesajı, tanıyıcıya isteğin nasıl işleneceğini belirten bilgiler sağlar. İlk AssistRequest mesaj, config mesajı içermelidir.

audio_in

bytes

Tanınacak ses verileri. Sıralı ses verisi parçaları, sıralı AssistRequest mesajlarıyla gönderilir. İlk AssistRequest mesajı audio_in verilerini, sonraki tüm AssistRequest mesajları ise audio_in verilerini içermemelidir. Ses baytları AudioInConfig politikasında belirtildiği gibi kodlanmalıdır. Ses yaklaşık olarak gerçek zamanlı olarak (saniyede 16.000 örnek) gönderilmelidir. Ses önemli ölçüde daha hızlı veya daha yavaş gönderilirse hata döndürülür.

AssistResponse

İstemci tarafından alınan üst düzey mesaj. Bir veya daha fazla AssistResponse mesajından oluşan bir dizi istemciye geri aktarılır.

Alanlar
event_type

EventType

Yalnızca çıkış Etkinliğin türünü belirtir.

audio_out

AudioOut

Yalnızca çıkış: Asistan'ın sorguya verdiği yanıtı içeren ses.

screen_out

ScreenOut

Yalnızca çıkış Asistan'ın sorguya verdiği görsel yanıtı içerir.

device_action

DeviceAction

Yalnızca çıkış Uygun yük ve semantik ayrıştırmayla sorgu tarafından tetiklenen işlemi içerir.

speech_results[]

SpeechRecognitionResult

Yalnızca çıkış: Bu tekrarlanan liste, işlenmekte olan sesin ardışık bölümlerine karşılık gelen sıfır veya daha fazla konuşma tanıma sonucu içerir. Bu kısım, en eski sese (ve en kararlı parçaya) karşılık gelen en son sese karşılık gelen bölümden başlar. Dizeler devam etmekte olan yanıtın tamamını görüntülemek için birleştirilebilir. Konuşma tanıma tamamlandığında bu liste, 1.0 tutarında stability içeren bir öğe içerir.

dialog_state_out

DialogStateOut

Yalnızca çıkış Kullanıcının sorgusuyla ilgili çıkışı içerir.

debug_info

DebugInfo

Yalnızca çıkış Geliştirici için hata ayıklama bilgileri. Yalnızca return_debug_info isteği doğru değerine ayarlanırsa döndürülür.

EventType

Etkinliğin türünü gösterir.

Sıralamalar
EVENT_TYPE_UNSPECIFIED Etkinlik belirtilmedi.
END_OF_UTTERANCE Bu etkinlik, sunucunun, kullanıcının konuşma ifadesinin sonunu algıladığını ve başka konuşma beklemediğini gösterir. Bu nedenle, sunucu ek ses işlemez (ancak daha sonra ek sonuçlar döndürebilir). İstemcinin ek ses verileri göndermeyi durdurması, gRPC bağlantısını yarıya kadar kapatması ve sunucu gRPC bağlantısını kapatana kadar ek sonuçlar için beklemesi gerekir.

AudioInConfig

Sonraki isteklerde sağlanacak audio_in verilerinin nasıl işleneceğini belirtir. Önerilen ayarlar için Google Asistan SDK'sı en iyi uygulamalarına bakın.

Alanlar
encoding

Encoding

Zorunlu Tüm audio_in mesajlarında gönderilen ses verilerinin kodlanması.

sample_rate_hertz

int32

Zorunlu Tüm audio_in mesajlarında gönderilen ses verilerinin örnek hızı (Hertz cinsinden). Geçerli değerler 16.000-24.000 arasındadır ancak 16.000 optimum bir değerdir. En iyi sonuçlar için ses kaynağının örnekleme hızını 16.000 Hz olarak ayarlayın. Bu mümkün değilse, yeniden örnekleme yerine ses kaynağının yerel örnek hızını kullanın.

Kodlama

Sesli mesajda gönderilen verilerin ses kodlaması. Ses tek kanallı (mono) olmalıdır.

Sıralamalar
ENCODING_UNSPECIFIED Belirtilmedi. google.rpc.Code.INVALID_ARGUMENT sonucunu döndürür.
LINEAR16 Sıkıştırılmamış 16 bit imzalı küçük uçlu örnekler (Doğrusal PCM). Bu kodlama başlık içermez, yalnızca işlenmemiş ses baytlarını içerir.
FLAC FLAC (Ücretsiz Kayıpsız Ses Codec'i) önerilen kodlamadır, çünkü kayıpsızdır, bu nedenle tanımanın güvenliği ihlal edilmez ve LINEAR16'in yalnızca yarısı kadar bant genişliği gerektirir. Bu kodlama, FLAC akış başlığını ve ardından ses verilerini içerir. 16 bit ve 24 bit örnekleri destekler, ancak STREAMINFO ürünündeki tüm alanlar desteklenmez.

AudioOut

Asistan'ın sorguya verdiği yanıtı içeren ses. Sıralı ses verisi parçaları, sıralı AssistResponse mesajlarıyla alınır.

Alanlar
audio_data

bytes

Yalnızca çıkış: Asistan'ın sorguya verdiği yanıtı içeren ses verileri. Sıralı ses verisi parçaları, sıralı AssistResponse mesajlarıyla alınır.

AudioOutConfig

Sunucunun audio_out mesajlarını döndürdüğünde kullanması istenen biçimi belirtir.

Alanlar
encoding

Encoding

Zorunlu Tüm audio_out mesajlarında döndürülecek ses verilerinin kodlaması.

sample_rate_hertz

int32

Zorunlu audio_out mesajlarda döndürülen ses verilerinin Hertz cinsinden örnek hızı. Geçerli değerler: 16000-24000.

volume_percentage

int32

Gerekli Cihazın ses çıkışının geçerli ses ayarı. Geçerli değerler 1 ile 100 arasındadır (%1 ile %100'e karşılık gelir).

Kodlama

Sesli mesajda döndürülen verilerin ses kodlaması. Tüm kodlamalar, aşağıda belirtilenler dışında üstbilgi içermeyen ham ses baytlarıdır.

Sıralamalar
ENCODING_UNSPECIFIED Belirtilmedi. google.rpc.Code.INVALID_ARGUMENT sonucunu döndürür.
LINEAR16 Sıkıştırılmamış 16 bit imzalı küçük uçlu örnekler (Doğrusal PCM).
MP3 MP3 ses kodlaması. Örnek hızı, yüke kodlanır.
OPUS_IN_OGG Ogg kapsayıcısına sarılmış Opus kodlu ses. Sonuç, Android'de ve bazı tarayıcılarda (ör. Chrome) yerel olarak oynatılabilen bir dosya olacaktır. Aynı bit hızı kullanıldığında, kodlama kalitesi MP3'ten oldukça yüksektir. Örnek hızı, yüke kodlanır.

DebugConfig

Geçerli isteğin hata ayıklama parametreleri.

Alanlar
return_debug_info

bool

Bu alan, doğru değerine ayarlandığında AssistResponse içindeki debug_info alanı doldurulabilir. Bununla birlikte, yanıtların gecikmesini önemli ölçüde artıracaktır.

DebugInfo

Geliştirici için hata ayıklama bilgileri. Yalnızca return_debug_info isteği doğru değerine ayarlanırsa döndürülür.

Alanlar
aog_agent_to_assistant_json

string

Action-on-Google aracısından Google sunucusuna gönderilen orijinal JSON yanıtı. AppResponse konusuna bakın. Bu alan yalnızca istek oluşturucu, AoG projesinin sahibiyse ve AoG projesi önizleme modundaysa doldurulur.

DeviceAction

Kullanıcı bir Cihaz İşlemini tetiklediyse yanıt cihaza döndürüldü. Örneğin, Işığı aç sorgusunu destekleyen bir cihaz, isteğin anlamını içeren bir JSON yükü içeren bir DeviceAction alır.

Alanlar
device_request_json

string

Tetiklenen Cihaz İşlemi dil bilgisinden oluşturulan cihaz komutu yanıtını içeren JSON. Biçim, belirli bir özellik için action.devices.EXECUTE amacı tarafından verilir.

DeviceConfig

Zorunlu Cihazı Asistan'a tanımlayan alanlar.

Şuna da bakabilirsiniz:

Alanlar
device_id

string

Zorunlu Cihazın benzersiz tanımlayıcısı. Kimlik uzunluğu en fazla 128 karakter olmalıdır. Örnek: DBCDW098234. Bu değerin, cihaz kaydından döndürülen device_id ile eşleşmesi ZORUNLUDUR. Bu device_id, bu cihazın desteklenen özelliklerini ve işlevlerini aramak üzere kullanıcının kayıtlı cihazlarıyla eşleştirme yapmak için kullanılır. Bu bilgiler, cihaz yeniden başlatıldığı zamanlarda değişmemelidir. Ancak, fabrika varsayılan ayarlarına sıfırlama işlemlerinde bu veriler kaydedilmemelidir.

device_model_id

string

Zorunlu Cihaz modeli için benzersiz tanımlayıcı. device_model_id ve device_id kombinasyonu daha önce cihaz kaydı üzerinden ilişkilendirilmiş olmalıdır.

DeviceLocation

Üç konum kaynağı vardır. Bunlar şu öncelik sırasına göre kullanılır:

  1. Bu DeviceLocation, öncelikli olarak GPS özellikli mobil cihazlarda kullanılır .
  2. Konum, cihaz kurulumu sırasında kullanıcı tarafından belirlenir. Bu değer kullanıcı başına ve cihaz başınadır. DeviceLocation belirtilmezse bu konum kullanılır.
  3. IP adresine göre belirlenen konum. Bu parametre yalnızca yukarıdakilerin hiçbiri belirtilmediyse kullanılır.
Alanlar
coordinates

LatLng

Cihazın enlem ve boylamı.

DialogStateIn

Mevcut iletişim kutusu durumu hakkında bilgi sağlar.

Alanlar
conversation_state

bytes

Zorunlu Bu alan, her zaman önceki Assist RPC'sinde döndürülen DialogStateOut.conversation_state değerine ayarlanmalıdır. Bu değer, bu cihaz ilk kurulum ve/veya fabrika varsayılan ayarlarına sıfırlandıktan sonra yapılan ilk Assist RPC'si olduğundan yalnızca daha önce Assist RPC'si yoksa atlanmalıdır (alan ayarlanmadı).

language_code

string

Zorunlu: IETF BCP 47 söz diziminde isteğin dili (ör. "en-US"). Daha fazla bilgi için Dil Desteği başlıklı makaleyi inceleyin. Telefonunuzun Google Asistan uygulamasındaki Ayarlar menüsünü kullanarak bu device_id için bir dil seçtiyseniz bu seçim, bu değeri geçersiz kılar.

device_location

DeviceLocation

İsteğe bağlı Sorgunun kaynaklandığı cihazın konumu.

is_new_conversation

bool

İsteğe bağlı: Doğru değerine ayarlanırsa sunucu, isteği yeni bir ileti dizisi olarak değerlendirir ve önceki isteğin durumunu kullanmaz. Görüşmenin yeniden başlatılması gerektiğinde (ör. cihaz yeniden başlatıldıktan sonra veya önceki sorgudan bu yana önemli bir süre geçtikten sonra) bu alanı true olarak ayarlayın.

DialogStateOut

Kullanıcının sorgusundan kaynaklanan iletişim kutusu durumu. Bu mesajlardan birden fazla ileti alınabilir.

Alanlar
supplemental_display_text

string

Yalnızca çıkış Asistan'dan eklenen ek görünen metin. Bu, AssistResponse.audio_out içinde söylenen konuşmayla aynı olabilir veya kullanıcının anlamasına yardımcı olacak bazı ek bilgiler olabilir.

conversation_state

bytes

Sonraki Assist RPC için yalnızca çıkış durum bilgileri. Bu değer istemciye kaydedilmeli ve DialogStateIn.conversation_state alanında sonraki Assist RPC ile döndürülmelidir. (İstemcinin bu değeri yorumlamasına veya başka bir şekilde kullanmasına gerek yoktur.) Bu bilgiler, cihaz yeniden başlatmalarında kaydedilmelidir. Ancak, fabrika varsayılan ayarlarına sıfırlama işlemi sırasında bu değer silinmelidir (istemciye kaydedilmez).

microphone_mode

MicrophoneMode

Yalnızca çıkış Bu Assist RPC işlendikten sonra mikrofonun modunu belirtir.

volume_percentage

int32

Yalnızca çıkış Güncellenen ses düzeyi. Sesi artır veya Ses seviyesi 4'ü ayarla gibi bir sesli komut tanınmadığı sürece değer 0 olur veya atlanır (değişiklik olmadığını gösterir). Bu durumda, değer 1 ile 100 arasında olur (%1 ile %100 arasındaki yeni ses düzeyine karşılık gelir). Genellikle, bir istemci audio_out verilerini oynatırken bu ses düzeyini kullanmalı, bu değeri mevcut ses düzeyi olarak tutmalı ve sonraki AssistRequest ayının AudioOutConfig içinde sağlamalıdır. (Bazı istemciler, örneğin kullanıcının çevirebileceği bir düğme sağlamak gibi, geçerli ses düzeyinin değiştirilmesine olanak tanıyacak başka yöntemler de kullanabilir.)

MicrophoneMode

Assist RPC tamamlandıktan sonra mikrofonun olası durumları.

Sıralamalar
MICROPHONE_MODE_UNSPECIFIED Mod belirtilmedi.
CLOSE_MICROPHONE Hizmet, kullanıcıdan ek bir soru beklemiyor. Kullanıcı yeniden etkinleştirene kadar mikrofon kapalı kalmalıdır.
DIALOG_FOLLOW_ON Hizmet, kullanıcıdan ek bir soru beklemektedir. AudioOut çalma işlemi tamamlandığında (yeni sesi göndermek için yeni bir Assist RPC çağrısı başlatarak) mikrofon yeniden açılmalıdır.

ScreenOut

Asistan'ın sorguya verdiği görsel çıkış yanıtı. screen_out_config tarafından etkinleştirildi.

Alanlar
format

Format

Yalnızca çıkış: Sağlanan ekran verilerinin biçimi.

data

bytes

Yalnızca çıkış: Assistant sorgusunun sonucu olarak gösterilecek ham ekran verileri.

Biçim

Ekran verilerinin olası biçimleri.

Sıralamalar
FORMAT_UNSPECIFIED Biçim belirtilmedi.
HTML Veriler, UTF-8 olarak kodlanmış tam biçimli bir HTML5 düzeni içerir (ör. <html><body><div>...</div></body></html>). Sesli yanıtla birlikte oluşturulması amaçlanmıştır. HTML5 doctype'nın gerçek HTML verilerine eklenmesi gerektiğini unutmayın.

ScreenOutConfig

screen_out yanıtı döndürdüğünde sunucunun kullanması istenen biçimi belirtir.

Alanlar
screen_mode

ScreenMode

Sorgu yayınlanırken cihazın geçerli görsel ekran modu.

ScreenMode

Cihazda görsel ekran çıkışı için olası modlar.

Sıralamalar
SCREEN_MODE_UNSPECIFIED Video modu belirtilmedi. Asistan, OFF modundaymış gibi yanıt verebilir.
OFF Ekran kapalı (veya parlaklık ya da diğer ayarları gizleyecek kadar düşük bir ayar var). Asistan, bu modda genellikle ekrana yanıt vermez.
PLAYING Asistan bu modda genellikle ekranın bir kısmıyla yanıt verir.

SpeechRecognitionResult

Kullanıcının söylediği bir ifadenin tahmini transkripti. Bu, tek bir segment veya kullanıcının söylediklerinin tam tahmini olabilir.

Alanlar
transcript

string

Yalnızca çıkış Kullanıcının söylediği kelimeleri temsil eden transkript metni.

stability

float

Yalnızca çıkış: Asistan'ın bu sonuçla ilgili tahminini değiştirmeme olasılığına ilişkin bir tahmin. Değerler 0,0 (tamamen kararsız) ile 1,0 (tamamen kararlı ve nihai) arasında değişir. Varsayılan olarak 0,0 değeri stability ayarlanmadığını gösteren bir koruyucu değeridir.