Package google.assistant.embedded.v1alpha1

Dizin

EmbeddedAssistant

Google Asistan API'sini uygulayan hizmet.

Converse

rpc Converse(ConverseRequest) returns (ConverseResponse)

Yerleşik asistan hizmetiyle bir görüşme başlatır veya görüşmeye 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 veriyor. İlk gRPC mesajındaki akışlı istek ve yanıtların sırası şöyle olabilir:

  • ConverseRequest.config
  • ConverseRequest.audio_in
  • ConverseRequest.audio_in
  • ConverseRequest.audio_in
  • ConverseRequest.audio_in
  • ConverseResponse.event_type.END_OF_UTTERANCE
  • ConverseResponse.result.microphone_mode.DIALOG_FOLLOW_ON
  • ConverseResponse.audio_out
  • ConverseResponse.audio_out
  • ConverseResponse.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 Converse yöntemine başka bir gRPC bağlantı çağrısı olarak gönderilir. Örneğin:

  • ConverseRequest.config
  • ConverseRequest.audio_in
  • ConverseRequest.audio_in
  • ConverseRequest.audio_in
  • ConverseResponse.event_type.END_OF_UTTERANCE
  • ConverseResponse.result.microphone_mode.CLOSE_MICROPHONE
  • ConverseResponse.audio_out
  • ConverseResponse.audio_out
  • ConverseResponse.audio_out
  • ConverseResponse.audio_out

Yanıtların tam sırası garanti edilmese de, sıralı ConverseResponse.audio_out mesajları her zaman sesin sıralı bölümlerini içerir.

Yetkilendirme

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.

AudioInConfig

Sonraki isteklerde sağlanacak audio_in verilerinin nasıl işleneceğini belirtir. Önerilen ayarlar için Google Asistan gRPC API 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. Yalnızca "en-US" dili desteklenir.

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ı ConverseResponse 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ı ConverseResponse 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.

ConverseConfig

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

Alanlar
audio_in_config

AudioInConfig

Gerekli: Sonraki gelen sesin nasıl işleneceğini belirtir.

audio_out_config

AudioOutConfig

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

converse_state

ConverseState

Gerekli Mevcut iletişim kutusu durumunu gösterir.

ConverseRequest

İstemci tarafından gönderilen üst düzey mesaj. İstemcilerin en az iki ve genellikle birden fazla ConverseRequest 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
converse_request alanı. Her ConverseRequest için bu alanlardan tam olarak biri belirtilmelidir. converse_request şunlardan yalnızca biri olabilir:
config

ConverseConfig

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

audio_in

bytes

Tanınacak ses verileri. Sıralı ses verisi parçaları, sıralı ConverseRequest mesajlarıyla gönderilir. İlk ConverseRequest mesajı audio_in verilerini, sonraki tüm ConverseRequest 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.

ConverseResponse

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

Alanlar
converse_response alanı. Her bir ConverseResponse için bu alanlardan tam olarak biri doldurulur. converse_response şunlardan yalnızca biri olabilir:
error

Status

Yalnızca çıkış Ayarlanırsa işlemle ilgili hatayı belirten bir google.rpc.Status mesajı döndürür. İşleme sırasında bir hata oluşursa bu mesaj ayarlanır ve başka mesaj gönderilmez.

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.

result

ConverseResult

Yalnızca çıkış Kullanıcının sözlü sorgusunun anlamsal sonucu.

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.

ConverseResult

Kullanıcının sözlü sorgusunun anlamsal sonucu.

Alanlar
spoken_request_text

string

Yalnızca çıkış: Kullanıcının söylediklerinin tanınan transkripti.

spoken_response_text

string

Yalnızca çıkış: Asistanın sözlü yanıtının metni. Bu değer, yalnızca IFTTT işlemi için döndürülür.

conversation_state

bytes

Sonraki ConverseRequest için yalnızca çıkış durum bilgileri. Bu değer istemciye kaydedilmeli ve conversation_state içinde sonraki ConverseRequest ile birlikte döndürülmelidir. (İstemcinin bu değeri yorumlamasına veya başka bir şekilde kullanmasına gerek yoktur.) Cihaz yeniden başlatıldığında bu bilgilerin kaydedilmesine gerek yoktur.

microphone_mode

MicrophoneMode

Yalnızca çıkış Bu Converse 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 algılanmadığında 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 ConverseRequest 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

Converse 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 Converse RPC çağrısı başlatarak) mikrofon yeniden açılmalıdır.

ConverseState

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

Alanlar
conversation_state

bytes

Zorunlu Önceki ConverseResponse içinde döndürülen conversation_state değeri. Daha önce ConverseResponse yoksa atlayın (alanı ayarlamayın). Daha önce bir ConverseResponse varsa bu alanı çıkarmayın. Bu işlem, söz konusu görüşmenin sonlandırılmasına neden olur (bu yeni istek yeni bir görüşme başlatır).