Intent integrati (Dialogflow)

Un intent integrato è un identificatore univoco che puoi specificare per indicare all'Assistente Google che l'azione può soddisfare una categoria specifica di utenti richieste. Ad esempio, ecco alcuni esempi di query utente che l'assistente associa gli intent integrati:

  • "Gioca" intent integrato: "Hey Google. Fai un gioco di memoria"
  • "Ottieni oroscopo" intent integrato: "Hey Google. Prendi l'oroscopo"
di Gemini Advanced.

Durante il rilevamento delle azioni, l'assistente può usare metadati relativi all'Azione, inclusi gli intent integrati che hai specificato, per consigliare l'azione agli utenti. Per ridurre al minimo i round trip conversazionali, l'assistente prova anche a scansionare i parametri dalle query dell'utente e passarle all'Azione.

Per vedere l'elenco completo degli intent integrati supportati dall'assistente: inclusi i parametri e le query di esempio degli utenti, vedi le Riferimento agli intent integrati.

Integra gli intent integrati

A seconda di come crei l'Azione, ci sono diversi modi per integrare gli intent integrati.

Dialogflow

Se utilizzi Dialogflow per creare l'azione, puoi collegare un intent integrato dalla console di Dialogflow in modo grafico.

Per collegare un intent integrato con Dialogflow, segui questi passaggi:

  1. Apri la console di Dialogflow, seleziona il tuo agente, quindi vai alla Schermata Intent.
  2. Crea o seleziona l'intent che l'agente attiva quando riceve un per intenzione integrata. Apri la sezione Eventi e fai clic su Aggiungi Evento.

    Figura 1. Aggiunta di un evento Dialogflow nella console Dialogflow.
    .
  3. Nel campo Eventi, digita il nome di un evento di intent integrato per il tuo (ad esempio actions_intent_PLAY_GAME).

    Figura 2. collegamento di un intent integrato all'agente nella console Dialogflow.
    .
  4. Fai clic su Salva.

SDK Actions

Se utilizzi l'SDK Actions per creare l'azione, devi specificare la mappatura tra gli intent integrati e le azioni nel pacchetto di azioni.

Per collegare un intent integrato con l'SDK Actions, segui questi passaggi:

  1. Specifica l'intent integrato nel campo del nome della definizione dell'azione.
  2. Carica il pacchetto azioni nel progetto Actions utilizzando lo strumento gactions, ad esempio descritto in Panoramica dell'SDK Actions.

Ad esempio, il seguente snippet mostra come aggiungere CHECK_AIR_QUALITY l'intent integrato:

{
   "actions":[
      {
         "description":"Default Welcome Intent",
         "name":"MAIN",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.MAIN"
         }
      },
      {
         "description":"Check Air Quality",
         "name":"CHECK_AIR_QUALITY",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.CHECK_AIR_QUALITY"
         }
      }
   ],
   "conversations":{
      "conversation_1":{
         "name":"conversation_1",
         "url":"https://example.com/fulfillment",
         "fulfillmentApiVersion":2
      }
   }
}

Gestire i parametri di intent integrati

Quando l'Azione viene richiamata tramite un intent integrato, il completamento potrebbe ricevono parametri aggiuntivi. Lo schema per intent definisce i nomi dei e relativi tipi come primitivi o schema.org le entità. Per visualizzare lo schema per gli intent integrati delle azioni conversazionali, consulta la sezione Riferimento agli intent integrati.

I parametri per gli intent integrati sono facoltativi. L'assistente gestisce il riempimento con valori, se possono essere estratti dalla chiamata dell'utente l'intent integrato.

Ad esempio, lo schema dell'architettura actions.intent.CHECK_AIR_QUALITY integrata definisce quattro parametri facoltativi:

Nome parametro Tipo
attributes Un valore stringa.
location Un oggetto schema.org/Place.
temporalCoverage Un oggetto schema.org/Duration.
timeIndicator Un'EnumeratedDuration (estensione specifica di Google).

Il seguente snippet di codice mostra un esempio di webhook di conversazione (JSON) richiesta quando un utente richiama l'azione dicendo "Qual è la qualità dell'aria nelle San Francisco domani?":

"inputs":[
      {
         "intent":"actions.intent.CHECK_AIR_QUALITY",
         "rawInputs":[
            {
               "inputType":"VOICE",
               "query":"what is the air quality in san francisco tomorrow"
            }
         ],
         "arguments":[
            {
               "name":"location",
               "structuredValue":{
                  "geo":{
                     "longitude":-122.41941550000001,
                     "latitude":37.7749295
                  },
                  "@context":"https://schema.org",
                  "@type":"Place",
                  "name":"san francisco"
               }
            },
            {
               "name":"temporalCoverage",
               "rawText":"2018-04-25",
               "textValue":"2018-04-25"
            }
         ]
      }
   ]

In questo esempio, i parametri hanno i seguenti valori:

  • Il parametro location contiene il parametro schema.org/Place per "Milano".
  • Il parametro temporalCoverage contiene il parametro schema.org/Duration valore per la data di domani relativa all'ora della chiamata.
  • Non sono presenti valori per i parametri attributes e timeIndicator perché la frase di chiamata dell'utente non includeva tali informazioni.

Se utilizzi la libreria client di Actions on Google per Node.js, puoi recuperare il valore dei parametri come mostrato nello snippet seguente:

app.intent('actions.intent.CHECK_AIR_QUALITY', (conv) => {
  const attributes = conv.arguments.get('attributes');
  const location = conv.arguments.get('location');
  const temporal_coverage = conv.arguments.get('temporalCoverage');
  Const time_indicator = conv.arguments.get('timeIndicator')

  // Your Action logic. If you need to use any of the parameter values,
  // you should check first that it is defined. Arguments.get returns
  // undefined if it can't find a value for a parameter.

});

Testare le integrazioni con intent integrati

Per testare l'integrazione, segui questi passaggi:

  1. Apri il simulatore di Azioni con l'Azione di test attivata oppure apri l'assistente sul tuo dispositivo.
  2. Pronuncia o digita una query associata all'intent integrato. Ad esempio: "Voglio giocare."
  3. Cerca l'azione nella finestra di dialogo di selezione delle app visualizzata.
  4. Seleziona la tua app per inviare un intent.
Figura 3. La finestra di dialogo di selezione dell'azione risultante
da una frase di intent integrata.
Figura 4. Richiamo di un'azione associata a un intent integrato.

Best practice per l'utilizzo di intent integrati

Quando utilizzi gli intent integrati, devi seguire queste best practice:

  • Mappare gli intent integrati ad azioni specifiche: quando un intent integrato specifico attivi l'Azione, indirizza l'utente all'intento specifico la tua funzionalità nell'azione con il minor attrito possibile. Per Ad esempio, se l'Azione supporta l'intent integrato PLAY_GAME e riceve tale intento, dovresti indirizzare immediatamente l'utente alla funzionalità del gioco dell'Azione. Evita di chiedere di nuovo all'utente se vuole giocare.
  • Gestire i parametri di intent integrati: assicurati di utilizzare l'intent integrato i valori parametro che l'assistente invia al tuo fulfillment. Evita di chiedere nuovamente all'utente questi valori.