Agenti di datastore

La funzionalità Vertex AI Conversation crea un agente Dialogflow speciale, chiamato agente di datastore. Con questa funzionalità fornisci un link al sito web o dei documenti (datastore) e Google analizza i tuoi contenuti e crea un agente virtuale basato su modelli linguistici di grandi dimensioni (LLM). A questo scopo, crea speciali gestori di stato chiamati gestori di datastore. Utilizzando questi gestori di datastore, l'agente del datastore può conversare con i tuoi utenti finali sui contenuti.

Puoi specificare il tuo nome di dominio e/o caricare un numero qualsiasi di documenti e Google li indicizzerà. L'agente avrà accesso a queste informazioni in tempo reale. Questo unifica la potenza e la precisione degli algoritmi della Ricerca Google in esecuzione sui tuoi dati pubblici o privati con le funzionalità di conversazione naturale di Dialogflow.

Per istruzioni per la creazione di un nuovo agente del datastore, consulta l'introduzione a Vertex AI Conversation.

Informazioni sugli agenti ibridi

Se disponi di un agente Dialogflow CX esistente, puoi eseguire l'upgrade a un agente ibrido, che combina la potenza di controlli di conversazione precisi (flussi, parametri, intent, condizioni, transizioni e così via) con le funzionalità generative del gestore di datastore.

Nell'ambito di questo upgrade, potresti voler eliminare o disattivare temporaneamente le route di intent (durante il test dei gestori dei datastore) per determinati scenari di conversazione con il tuo agente, perché i gestori del datastore possono gestire questi scenari in modo più semplice.

I seguenti scenari sono consigliati per i gestori dei datastore:

  • Domande a cui è possibile rispondere dai documenti o dal sito web della tua organizzazione.
  • Domande frequenti che non richiedono ricerche nel database.

I seguenti scenari non sono consigliati per i gestori dei datastore:

  • Contenuti senza risposte alle domande desiderate.
  • Domande che richiedono ricerche nel database o richieste del server.
  • Scenari che richiedono l'oscuramento dei dati.
  • Scenari che richiedono risposte deterministiche degli agenti.

Ordine di valutazione dell'input

Dialogflow valuta l'input utente finali nel seguente ordine per gli agenti ibridi:

  1. Immissione dei parametri durante la compilazione del modulo.
  2. Corrispondenze di intent per le route nell'ambito.
  3. Gestore del datastore con contenuti di domande frequenti sul datastore.
  4. Gestore di datastore con contenuti di datastore non strutturati.

Aggiungere o modificare i gestori del datastore per un agente esistente

I gestori del datastore sono un tipo speciale di gestore dello stato Dialogflow. Ciò significa che puoi applicarle a flussi o pagine e che vengono valutate utilizzando le stesse regole dell'ambito.

Per aggiungere o modificare un gestore di datastore:

  1. Vai alla console Dialogflow CX.
  2. Selezionare il tuo progetto Google Cloud.
  3. Seleziona l'agente.
  4. Seleziona il flusso associato al gestore del datastore. Questo è in genere il flusso di avvio predefinito.
  5. Seleziona la pagina associata al gestore del datastore. Si tratta in genere della pagina iniziale.
  6. Fai clic su Aggiungi gestore di stato nei dati della pagina, poi seleziona Datastore.
  7. Se devi creare un datastore, si aprirà l'interfaccia utente di Vertex AI Search and Conversation. Consulta le informazioni sul datastore per effettuare le selezioni desiderate.
  8. Se hai già un datastore, fai clic su Modifica datastore.
  9. Apporta gli aggiornamenti necessari e salva al termine dell'operazione. Consulta le informazioni riportate di seguito sulle impostazioni specifiche del datastore.

Risposte degli agenti

Nella sezione Risposte dell'agente, puoi fornire risposte personalizzate che fanno riferimento a risposte generative. Usa $request.knowledge.questions[0] nella sezione L'agente dice per fornire una risposta generativa.

Opzioni di risposta del datastore

Puoi aggiornare il campo Numero massimo di link per indicare il numero massimo di link supplementari che devono essere forniti dalle risposte generative.

Gestire le digressioni delle conversazioni

Durante una conversazione, l'utente finale potrebbe porre domande di chiarimento. Ad esempio, durante la raccolta dei dati della carta di credito, può essere opportuno chiarire che cos'è un CVV. In questo caso, l'agente deve rispondere alla domanda e tornare a raccogliere i dati della carta di credito necessari. A questo scopo, puoi creare un gestore di datastore con datastore che rispondano alla domanda, applicare il gestore alla pagina iniziale del flusso del flusso che gestisce la raccolta dei dati della carta di credito e impostare un obiettivo di transizione affinché questo gestore torni alla "pagina corrente".

Gestire le corrispondenze di intent indesiderate

Se il tuo agente corrisponde agli intent quando dovrebbe utilizzare un gestore di datastore, puoi provare quanto segue per risolvere il problema:

  • Elimina o modifica frasi di addestramento vaghe, in modo che tutte le frasi di addestramento gestiscano con precisione l'intenzione desiderata e non siano in conflitto con i contenuti del tuo datastore.
  • Utilizza esempi negativi per evitare la corrispondenza di intent.

Filtro del datastore

In alcuni casi, potresti volere che solo determinati datastore siano disponibili per le query, a seconda dei valori dei parametri di sessione. Ad esempio, potresti avere datastore univoci per le categorie di prodotti. Per applicare il filtro del datastore per categorie di prodotti:

  • Imposta i parametri di sessione sulle categorie di prodotti.
  • Crea route di condizione che controllano i valori dei parametri di sessione e passi a una pagina specifica che ha il gestore del datastore desiderato.
  • Il gestore del datastore deve tornare alla pagina delle chiamate, in modo che la conversazione possa continuare.

Personalizzazione

Per rendere le risposte generative più pertinenti per gli utenti finali, puoi fornire a Dialogflow informazioni sugli utenti.

Queste informazioni vengono fornite in formato JSON. Non esiste uno schema previsto, quindi puoi definire le proprietà dell'oggetto. Questo JSON viene inviato al modello LLM così com'è, in modo che i nomi e i valori descrittivi delle proprietà ottengano i risultati migliori.

Ad esempio:

{
  "subscription plan": "Business Premium Plus",
  "devices owned": [
    {"model": "Google Pixel 7"},
    {"model": "Google Pixel Tablet"}
  ]
}

Personalizzazione con l'API Dialogflow

Puoi fornire questi dati a Dialogflow quando invii richieste di rilevamento di intent. Queste informazioni devono essere fornite in ogni richiesta di rilevamento dell'intent, in quanto non sono rese persistenti nella sessione.

Fornisci queste informazioni nel campo queryParams.endUserMetadata nel metodo Sessions.detectIntent.

Seleziona un protocollo e la versione come riferimento per la sessione:

Protocollo V3 Versione 3 beta 1
REST Risorsa sessione Risorsa sessione
RPC Interfaccia della sessione Interfaccia della sessione
C++ SessionsClient Non disponibile
C# SessionsClient Non disponibile
Go SessionsClient Non disponibile
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP Non disponibile Non disponibile
Python SessionsClient SessionsClient
Ruby Non disponibile Non disponibile

Personalizzazione con Dialogflow Messenger

Puoi fornire questi dati all'integrazione di Dialogflow Messenger. Vedi il metodo setContext.

Configurazione di ricerca

Per avere un controllo migliore sul comportamento dell'agente e migliorare la qualità delle risposte, le configurazioni di ricerca Boost e Filtra sono esposte per consentirti di potenziare, bury e filtrare i documenti.

I controlli del boost ti consentono di modificare il ranking dei risultati di ricerca applicando un valore di boosting (maggiore di zero per il ranking più alto e inferiore a zero per il ranking più basso) a documenti specifici.

I controlli filtro ti consentono di conservare o rimuovere i risultati di ricerca in base ai criteri di filtro specificati.

Queste informazioni vengono fornite come JSON alle richieste Dialogflow. Il formato del JSON dipende dal tipo di controllo di ricerca.

Controllo boost

La seguente configurazione di ricerca descrive un controllo del boost:

"searchConfig": {
  "boostSpecs": [
    {
      "dataStores": [ "DATASTORE_ID" ],
      "spec": [
        {
          "conditionBoostSpecs": {
            "condition": "CONDITION",
            "boost": "1.0"
          }
        }
      ]
    }
  ]
}

Controllo filtro

La seguente configurazione di ricerca descrive un controllo filtro:

"searchConfig": {
  "filterSpecs": [
    {
      "dataStores": [ "DATASTORE_ID" ],
      "filter": "CONDITION"
    }
  ]
}

Configurare la configurazione di ricerca con l'API Dialogflow

Puoi fornire questi dati a Dialogflow quando invii richieste di rilevamento di intent. Queste informazioni devono essere fornite in ogni richiesta di rilevamento dell'intent, in quanto non sono rese persistenti nella sessione.

Fornisci queste informazioni nel campo queryParams.searchConfig nel metodo Sessions.detectIntent.

Seleziona un protocollo e la versione come riferimento per la sessione:

Protocollo V3 Versione 3 beta 1
REST Risorsa sessione Risorsa sessione
RPC Interfaccia della sessione Interfaccia della sessione
C++ SessionsClient Non disponibile
C# SessionsClient Non disponibile
Go SessionsClient Non disponibile
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP Non disponibile Non disponibile
Python SessionsClient SessionsClient
Ruby Non disponibile Non disponibile

Configurare la configurazione di ricerca con Dialogflow Messenger

Puoi fornire questi dati all'integrazione di Dialogflow Messenger.

Per applicare un controllo di ricerca, devi aggiungere il seguente snippet al codice di Messenger DF quando lo incorpori in un sito web:

<script>
  document.addEventListener('df-messenger-loaded', () => {
    const dfMessenger = document.querySelector('df-messenger');
    const searchConfig = { ... }
    dfMessenger.setQueryParameters(searchConfig);
  });
</script>

Vedi il metodo setQueryParameters.

Codelab

Consulta anche il codelab sull'agente Data Store e sull'app di chat generativa.