Richieste

I prompt definiscono il modo in cui l'Azione mostra le risposte agli utenti e il modo in cui l'Azione li chieda di continuare. Man mano che crei l'Azione, puoi aggiungere prompt a varie parti delle scene. I prompt possono essere semplici risposte testuali o vocali oppure che possono essere più complesse e includere contenuti avanzati come schede, immagini e tabelle.

Tipi di risposta

Per ogni prompt, puoi scegliere tra diversi tipi di risposte coinvolgenti L'assistente per presentare agli utenti:

  • Risposte semplici: le risposte semplici assumono visivamente la forma di un fumetto della chat. e utilizzare la sintesi vocale (TTS) o il linguaggio SSML (Speech Synthesis Markup Language) per audio. Le risposte semplici sono le uniche supportate su tutti i tipi di dispositivi.
  • Risposte avanzate: le risposte complete contengono elementi visivi o funzionali che migliorare le interazioni degli utenti con le tue Azioni. Con le risposte dettagliate, puoi anche visualizza dati tabulari o riproduci contenuti audio più lunghi.
  • Risposte di selezione visiva. Le risposte di selezione visiva forniscono una panoramica interfaccia in cui gli utenti possono scegliere tra più opzioni che sono più facilmente differenziate per titolo o per immagine.
  • Risposte multimediali: le risposte multimediali consentono alle Azioni di riprodurre audio più lunghi. contenuti SSML e fornisce un componente visivo con i controlli multimediali.
  • Interactive Canvas (Canvas interattiva): il Canvas interattivo mostra le risposte a schermo intero. le visualizzazioni web e le funzioni come app web interattiva che l'assistente invia come risposta all'utente nella conversazione. Canvas utilizza un prompt leggermente diverso per una maggiore flessibilità rispetto agli standard web come HTML, CSS e JavaScript.

Ognuno di questi tipi di risposta utilizza lo stesso formato di prompt di base e ha accesso le stesse funzionalità generali descritte di seguito.

Formato di un prompt

Nel progetto Actions definisci i prompt in formato YAML o JSON. Ciascuna di questo prompt può contenere fino a due semplici risposte e, facoltativamente, definire un rich la risposta corretta. Le risposte vengono definite nei seguenti modi:

  • first_simple: risposta iniziale di testo o vocale (semplice) da inviare all'utente.
  • content: contenuti avanzati di risposta aggiuntivi da inviare dopo risposte semplici.
  • last_simple Risposta di testo o vocale finale (semplice) da inviare all'utente.
  • canvas: fa riferimento a un'app web che si integra con Interactive Canvas.

Per impostazione predefinita, i prompt vengono aggiunti l'uno all'altro nell'ordine precedente in una richiesta in coda. Prima che l'utente possa rispondere, l'assistente gli presenta tutte le richieste nella coda dei prompt.

Puoi inoltre offrire flessibilità al prompt utilizzando le seguenti funzionalità:

  • Candidati: i candidati consentono di definire le risposte in base a: le funzionalità del dispositivo dell'utente. Ad esempio, puoi fare in modo che l'assistente risposte solo quando un utente interagisce con l'Azione su un dispositivo dispositivo.
  • Varianti: le varianti sono varianti alternative di un singolo messaggio. Ad esempio, puoi chiedere all'assistente di scegliere tra cinque diversi livelli di benvenuto ogni volta che un utente richiama l'Azione.
  • Suggerimenti: i suggerimenti forniscono agli utenti le funzionalità di visualizzazione dispositivi con chip di suggerimento quando l'assistente mostra il prompt.

Un prompt predefinito utilizza un candidato, una variante e una risposta first_simple.

Candidati

In un prompt, l'oggetto candidates consente di definire le risposte in base a un le funzionalità del dispositivo dell'utente. Ad esempio, puoi fare in modo che l'assistente risposte solo quando un utente interagisce con l'Azione su un dispositivo dispositivo. Per definire i tipi di dispositivi in cui l'assistente può restituire un candidato, usa la proprietà selector dell'oggetto candidates.

Nell'esempio seguente, la proprietà selector contiene la funzionalità del dispositivo informazioni. I prompt impostati nel primo candidato vengono inviati agli utenti su un dispositivo in grado di restituire risposte dettagliate. Il secondo candidato contiene prompt per Utenti che possono solo ricevere risposte testuali e vocali.

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."
      }]
    }
  }]
}
    

Puoi fornire uno o più requisiti di capacità per un determinato candidato. La nell'elenco seguente sono descritti tutti i requisiti delle funzionalità disponibili:

  • SPEECH: il dispositivo può parlare con l'utente tramite la sintesi vocale o SSML.
  • RICH_RESPONSE: il dispositivo può visualizzare risposte avanzate come schede, elenchi e tabelle.
  • LONG_FORM_AUDIO: il dispositivo può riprodurre contenuti multimediali audio nel formato lungo come musica e podcast.
  • INTERACTIVE_CANVAS: il dispositivo può visualizzare una risposta di Canvas interattiva.
  • WEB_LINK: il dispositivo può usare link web nelle risposte avanzate per aprire un browser web.
  • HOME_STORAGE: il dispositivo può archiviare e accedere ai dati dello spazio di archiviazione di casa.

Varianti

Le varianti forniscono un modo per definire più versioni di una risposta. Quando l'assistente invia il prompt a un utente, una delle varianti viene scelta in modo casuale. Come migliore nella progettazione delle conversazioni, fornire agli utenti risposte alternative quando conversano con la tua Azione.

Ad esempio, fornisci diverse varianti del messaggio di benvenuto in modo che gli utenti non lo sentano la stessa risposta ogni volta che richiamano l'azione:

YAML

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

JSON

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

Suggerimenti

Esempio di chip di suggerimento su uno smart display

I suggerimenti forniscono agli utenti dei dispositivi con funzionalità di visualizzazione dei chip di suggerimento quando L'assistente mostra il messaggio. Utilizza i chip di suggerimento per suggerire le risposte degli utenti a continua o alterna la conversazione. Quando viene toccato, un chip di suggerimento restituisce il valore mostrava il testo alla conversazione parola per parola, come se l'utente lo avesse digitato.

Puoi avere un massimo di 8 suggerimenti in una singola richiesta, ciascuno con un massimo di 8 di 25 caratteri in chiaro.

Per aggiungere un suggerimento, fornisci un oggetto Suggestion che contenga ogni suggerimento in un campo title separato. Ogni titolo deve essere unico all'interno dell'insieme di chip di suggerimenti. In Actions Builder, questo oggetto è rappresentato in YAML JSON come suggestions.

Ad esempio, puoi indicare "Sì" e "No" suggerimenti insieme a una domanda:

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"
    }]
  }]
}