İstem sayısı

İstemler, işleminizin kullanıcılara verilen yanıtları nasıl oluşturduğunu ve İşleminizin devam etmesini ister. İşleminizi oluştururken ve sahneler içindeki çeşitli yerlere girebilir. İstemler bir yazılı yanıt veya ses yanıtı olabilir ya da daha karmaşık olabilir ve resim ve tablolar gösterilebilir.

Yanıt türleri

Her istem için çeşitli ilgi çekici yanıt türleri arasından seçim yaparsınız: Kullanıcılara sunacağı Asistan:

  • Basit yanıtlar: Basit yanıtlar, görsel olarak bir sohbet balonu şeklindedir için metin okuma (TTS) veya Konuşma Sentezi Biçimlendirme Dili (SSML) kullanmanız gerekir. sesi'ne dokunun. Tüm cihaz türlerinde yalnızca basit yanıtlar desteklenir.
  • Zengin yanıtlar: Zengin yanıtlar, videonun geri kalanına göre Eylemlerinizle kullanıcı etkileşimlerini geliştirme. Zengin yanıtlar sayesinde şunları da yapabilirsiniz: tablo verileri görüntüleme veya daha uzun biçimli ses içeriği oynatma.
  • Görsel seçim yanıtları: Görsel seçim yanıtları, görsel seçimle ilgili kullanıcı arayüzü, kullanıcılara en kolay şekilde birden çok seçenek arasından başlıklarına veya bir görsele göre ayırt edilebilir.
  • Medya yanıtları: Medya yanıtları, işlemlerinizin daha uzun sesler çalmasını sağlar ve medya denetimleri içeren bir görsel bileşen sağlar.
  • Etkileşimli Tuval: Etkileşimli Tuval, yanıtları tam ekran olarak oluşturur Web görünümleri ve Asistan'ın gönderdiği etkileşimli bir web uygulaması olarak çalışır. kullanıcıya yanıt vermeniz gerekir. Tuval biraz farklı bir istem kullanıyor biçimi sayesinde HTML, CSS ve JavaScript'e dokunun.

Bu yanıt türlerinin her biri aynı temel istem biçimini kullanır ve şunlara erişebilir: aşağıda açıklanan genel özelliklerin aynısıdır.

İstemin biçimi

Actions projenizde istemleri YAML veya JSON biçiminde tanımlarsınız. Her biri istem, en fazla iki basit yanıt içerebilir ve isteğe bağlı olarak zengin bir tıklayın. Yanıtlar aşağıdaki şekillerde tanımlanır:

  • first_simple: Kullanıcıya gönderilecek ilk metin veya konuşma (basit) yanıt.
  • content: Basit yanıtlardan sonra gönderilecek ek zengin yanıt içeriği.
  • last_simple Kullanıcıya gönderilecek son metin veya sözlü (basit) yanıt.
  • canvas: Etkileşimli Tuval ile entegre olan bir web uygulamasına referans verir.

Varsayılan olarak, istemler bir istemde yukarıdaki sırayla birbirine eklenir sıra. Asistan, yanıt verilebilmesi için kullanıcıya tüm istemleri gösterir. eklenir.

Ayrıca, aşağıdaki özellikleri kullanarak istem esnekliğine de sahip olursunuz:

  • Adaylar: Adaylar, yanıtları temel alarak özellikleri gösterilir. Örneğin, Asistan'ın zengin ekran görüntülemesini sağlayabilirsiniz. yalnızca kullanıcı görüntüleme özellikli bir cihazda İşleminizle etkileşimde bulunduğunda yanıt verir. olanak tanır.
  • Varyantlar: Varyantlar, tek bir mesajın alternatif varyasyonlarıdır. Örneğin, Asistan'ın beş farklı karşılama arasından seçim yapmasını sağlayabilirsiniz kullanıcı İşleminizi her çağırdığında mesaj varyantları bulun.
  • Öneriler: Öneriler, kullanıcılara görüntüleme özellikli Asistan istem görüntülediğinde öneri çipleri içeren cihazlar.

Varsayılan istemde bir aday, bir varyant ve first_simple yanıtı kullanılır.

Adaylar

Bir istemde candidates nesnesi, yanıtı temel alarak özellikleri gösterilir. Örneğin, Asistan'ın zengin ekran görüntülemesini sağlayabilirsiniz. yalnızca kullanıcı görüntüleme özellikli bir cihazda İşleminizle etkileşimde bulunduğunda yanıt verir. olanak tanır. Asistan'ın bir adayı döndürebileceği cihaz türlerini tanımlamak için şunu kullanın: candidates nesnesinin selector özelliği.

Aşağıdaki örnekte selector özelliği, cihaz özelliklerini içerir. ekleyebilirsiniz. İlk adayda ayarlanan istemler cihazdaki kullanıcılara gönderilir oluşturabilen basit bir komut dosyasıdır. İkinci aday ise şu soruları soruyor: Yalnızca metin ve konuşma yanıtları alabilen kullanıcılar.

YAML

candidates:
  - selector:
      surface_capabilities:
        capabilities:
          - RICH_RESPONSE
    first_simple:
      variants:
        - speech: Here's a simple message.
    content:
      card:
        title: Image card title
        text: Some details about the image
        image:
          url: 'https://www.example.com/image/'
  - first_simple:
      variants:
        - speech: Text explains what the image might have shown in more detail.
    

JSON

{
  "candidates": [{
    "selector": {
      "surface_capabilities": {
        "capabilities": ["RICH_RESPONSE"]
      }
    },
    "first_simple": {
      "variants": [{
        "speech": "Here's a simple message."
      }]
    },
    "content": {
      "card": {
        "title": "Image card title",
        "text": "Some details about the image",
        "image": {
          "url": "https://www.example.com/image/"
        }
      }
    }
  }, {
    "first_simple": {
      "variants": [{
        "speech": "Text explains what the image might have shown in more detail."
      }]
    }
  }]
}
    

Belirli bir aday için bir veya daha fazla yetenek şartı belirtebilirsiniz. İlgili içeriği oluşturmak için kullanılan aşağıdaki listede mevcut yetenek gereksinimlerinin her biri açıklanmaktadır:

  • SPEECH: Cihaz, metin okuma veya SSML aracılığıyla kullanıcıyla konuşabilir.
  • RICH_RESPONSE: Cihaz; kartlar, listeler ve gibi zengin yanıtları görüntüleyebilir tablolarında anlatacağım.
  • LONG_FORM_AUDIO: Cihaz, müzik gibi uzun biçimli sesli medyaları oynatabilir ve podcast'ler.
  • INTERACTIVE_CANVAS: Cihaz, Etkileşimli Tuval yanıtı görüntüleyebilir.
  • WEB_LINK: Cihaz, bir web tarayıcısını açmak için zengin yanıtlardaki web bağlantılarını kullanabilir.
  • HOME_STORAGE: Cihaz, ev depolama alanında veri depolayabilir ve verilere erişebilir.

Varyantlar

Varyantlar, bir yanıtın birden fazla versiyonunu tanımlamanızı sağlar. Asistan Varyantlardan biri rastgele seçilir. En iyi konuşma tasarımında alıştırma yapma, kullanıcılara geri bildirimde bulunurlar.

Örneğin, kullanıcıların duymaması için farklı karşılama mesajı varyantları sağlayın İşleminizi her çağırdıklarında aynı yanıtı vermelidir:

YAML

candidates:
  - first_simple:
      variants:
        - speech: Hello.
        - speech: Hi there.
        - speech: Welcome.
    

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Hello."
      },{
        "speech": "Hi there."
      },{
        "speech": "Welcome."
      }]
    }
  }]
}
    

Öneriler

Akıllı ekrandaki öneri çipleri örneği

Öneriler, görüntüleme özelliği olan cihazlardaki kullanıcılara aşağıdaki durumlarda öneri çipleri sunar: Asistan istemi gösterir. Kullanıcıların yanıtlarıyla ilgili ipucu vermek için öneri çiplerini kullanın. konuşmayı sürdürebilir veya yönlendirebilirsiniz. Dokunulduğunda bir öneri çipi, metin, kullanıcı yazmış gibi tam olarak görüşmede gösterilir.

Tek bir istemde her biri maksimum olmak üzere en fazla 8 öneriniz olabilir 25 şifrelenmemiş metin karakteri.

Öneri eklemek için her birini içeren bir Suggestion nesnesi sağlayın önerisini ayrı bir title alanında paylaşabilirsiniz. Başlıklar grup içinde benzersiz olmalıdır var. Actions Builder'da bu nesne YAML ve suggestions biçiminde JSON.

Örneğin, "Evet" diyebilirsiniz. ve "Hayır" bir öneri gösterelim:

YAML

candidates:
  - first_simple:
      variants:
        - speech: 'Welcome, do you want to play a game?'
    suggestions:
      - title: 'Yes'
      - title: 'No'
    

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Welcome, do you want to play a game?"
      }]
    },
    "suggestions": [{
      "title": "Yes"
    }, {
      "title": "No"
    }]
  }]
}