Agenti del datastore

Gli agenti del datastore sono un tipo speciale di agente Dialogflow che può fornire risposte degli agenti generate da LLM in base ai contenuti del tuo sito web e ai dati caricati.

Per creare questo agente, devi fornire i datastore durante la creazione dell'agente.

Un agente del datastore ha gestori di stato speciali denominati gestori del datastore. Utilizzando questi gestori del datastore, l'agente del datastore può conversare sui contenuti con i tuoi utenti finali.

Limitazioni

Si applicano le seguenti limitazioni:

  • Al momento questa funzionalità supporta solo determinate lingue in GA. Consulta la colonna del datastore nel riferimento sulle lingue.
  • Sono supportate solo le seguenti regioni: global, us a più regioni e eu a più regioni.

Controllo dell'accesso

Se sei il proprietario del progetto, hai tutte le autorizzazioni necessarie per creare un agente del datastore. Se non sei il proprietario del progetto, devi disporre dei seguenti ruoli:

  • Amministratore Dialogflow
  • Amministratore di Discovery Engine

Per ulteriori informazioni, consulta la guida controllo dell'accesso Dialogflow.

Crea un agente del datastore

Per creare un agente del datastore:

  1. Se non l'hai già fatto, segui le istruzioni per la setup di Dialogflow.
  2. Vai a Vertex AI Conversation Console:

    Console Vertex AI Conversation

  3. Seleziona il progetto dal menu a discesa della console.

  4. Se non hai già attivato l'API, leggi e accetta i Termini di servizio e poi fai clic su Continua e attiva l'API.

  5. Fai clic su Create a New App (Crea una nuova app) o New App (Nuova app).

  6. Seleziona Chat.

  7. Fornisci il nome della tua azienda nella sezione Configurazioni agente.

  8. Espandi la sezione delle impostazioni di lingua e fuso orario.

  9. Seleziona un fuso orario

  10. Seleziona una lingua predefinita.

  11. Fornisci il nome di un agente nella sezione Nome agente.

  12. Seleziona una o più regioni nella sezione Località dell'agente.

  13. Fai clic su Continua.

  14. Connetti un datastore all'agente eseguendo una delle seguenti operazioni:

    • Seleziona un datastore esistente creato in precedenza.
    • Crea un nuovo datastore:
      1. Fai clic su Crea nuovo datastore.
      2. Scegli un'origine di dati.
      3. Fornisci i dati e la configurazione per l'origine del datastore selezionata. La località del datastore deve corrispondere alla località dell'agente.
      4. Fai clic su Crea per creare il datastore.
      5. Seleziona il nuovo datastore.
  15. Fai clic su Crea.

  16. L'agente sarà stato creato. A questo punto verrai reindirizzato automaticamente alla pagina Datastore disponibili, dove potrai aggiungere altri datastore in base alle esigenze.

  17. Se hai creato un nuovo datastore per un sito web, devi verificare il tuo dominio.

  18. Per aprire l'agente con Dialogflow CX, fai clic su Anteprima nel riquadro a sinistra. Nella console Dialogflow CX, puoi modificare o aggiungere gestori dei datastore, eseguire il deployment dell'agente e, facoltativamente, aggiungere flussi che gestiranno scenari non coperti dai datastore.

Testa l'agente

Puoi utilizzare il simulatore Dialogflow CX per testare l'agente.

Migliora le risposte generative dell'agente

Se durante il test noti che alcune risposte non soddisfano le tue aspettative, prova a procedere nel seguente modo.

Puoi sovrascrivere una risposta aggiungendo una voce di Domande frequenti per una domanda specifica.

Sono disponibili ulteriori personalizzazioni per l'agente nella console Dialogflow. Per accedere alla console, fai clic sul nome dell'agente nell'elenco degli agenti disponibili nella console. Quindi, apri la pagina Impostazioni agente di Dialogflow e vai alla scheda ML, quindi alla sottoscheda IA generativa. Sono disponibili le seguenti personalizzazioni:

Fiducia di base

Per ogni risposta generata dai contenuti dei tuoi datastore connessi, valutiamo un livello di confidenza, che valuta il livello di sicurezza che tutte le informazioni nella risposta sono supportate da informazioni nei datastore. Puoi personalizzare i tipi di risposte da consentire selezionando il livello di confidenza più basso che ritieni adeguato. Se una risposta ha un'affidabilità strettamente inferiore a quel livello, non verrà mostrata.

Puoi scegliere tra 5 livelli di confidenza: molto basso, basso, medio, alto e molto alto.

Richiesta datastore

Puoi aggiungere ulteriori informazioni sull'agente che possono migliorare la qualità delle risposte generate dai contenuti del datastore e farle sembrare più simili al tuo brand:

  • Nome agente: il nome che l'agente deve chiamare. Se non viene configurato, verrà utilizzato il valore predefinito Assistente IA.
  • Identità dell'agente: come sarà l'agente utente. Se non viene configurato, verrà utilizzato il valore predefinito Assistente IA.
  • Il Nome dell'azienda deve essere impostato sul nome della tua azienda. Questo valore dovrebbe essere già stato impostato come parte del flusso di creazione dell'agente, ma è modificabile secondo necessità. Ti consigliamo di impostare questo campo correttamente (e in particolare di non lasciarlo vuoto), per evitare di compromettere la qualità delle risposte generate.
  • Descrizione dell'azienda è una breve descrizione di ciò che l'azienda fa o offre.
  • Ambito agente: indica dove deve essere utilizzato l'agente. Se non viene configurato, verrà utilizzato il valore predefinito sul sito web dell'azienda.

Dopo aver compilato questa sezione parzialmente o interamente, puoi esaminare sul lato destro, in Il tuo prompt, il breve paragrafo che è stato ricavato da queste impostazioni e che verrà utilizzato per la generazione delle risposte.

Frasi escluse

Puoi scegliere di definire frasi specifiche che non devono essere consentite. Se la risposta generata (o, per questo caso, i contenuti inseriti nel prompt utilizzato per generare la risposta, ad esempio l'ultima espressione dell'utente) contengono una delle frasi vietate testate, quella risposta non verrà mostrata.

Prompt di selezione e riepilogo del modello di datastore

Quando viene elaborata la query di un utente, l'agente esegue una ricerca nei datastore per trovare origini valide. L'agente invia quindi la query utente e le origini trovate all'LLM, che esegue un riassunto.

Puoi selezionare il modello da utilizzare per il riepilogo e, facoltativamente, fornire il tuo prompt.

Seleziona un modello generativo

Puoi selezionare il modello generativo utilizzato da un agente di datastore per la richiesta generativa di riassunto. Se non viene selezionato alcun elemento, viene utilizzato text-bison@001. La tabella seguente contiene le opzioni disponibili:

Identificatore modello Supporto delle lingue
text-bison@001 Funzionalità disponibile in tutte le lingue supportate.
text-bison@002 Funzionalità disponibile in tutte le lingue supportate.
text-bison@001 ottimizzato (conversazionale) Al momento è supportato solo l'inglese.
text-bison@001 ottimizzato (informativo) Al momento è supportato solo l'inglese.
gemelli pro Funzionalità disponibile in tutte le lingue supportate.

Personalizza il prompt di riassunto

Puoi fornire il tuo prompt per la chiamata LLM di riassunto. Il prompt è un modello di testo che può contenere segnaposto predefiniti. I segnaposto verranno sostituiti con i valori appropriati in fase di runtime e il testo finale verrà inviato all'LLM.

I segnaposto sono i seguenti:

  • $original-query: testo della query dell'utente.
  • $rewritten-query: Dialogflow utilizza un modulo di riscrittura per riscrivere la query dell'utente originale in un formato più accurato.
  • $sources: Dialogflow utilizza Enterprise Search per cercare origini in base alla query dell'utente. Le origini trovate vengono visualizzate in un formato specifico:

    [1] title of first source
    content of first source
    [2] title of second source
    content of first source
    
  • $conversation: la cronologia della conversazione viene visualizzata nel seguente formato:

    Human: user's first query
    AI: answer to user's first query
    Human: user's second query
    AI: answer to user's second query
    

Un prompt personalizzato deve indicare all'LLM di restituire "NOT_ENOUGH_INFORMATION" quando non può fornire una risposta. L'agente trasformerà questa costante in un messaggio intuitivo per l'utente.

Esegui il deployment del tuo agente

Esistono molti modi per eseguire il deployment dell'agente:

  • L'opzione più semplice consiste nell'utilizzare un'integrazione Dialogflow CX, che fornisce un'interfaccia utente per l'agente. Ogni integrazione fornisce istruzioni per il deployment.

  • L'integrazione di Dialogflow Messenger è un'opzione particolarmente valida per gli agenti dei datastore. Ha opzioni integrate per le funzionalità generative.

  • Puoi creare la tua interfaccia utente e utilizzare l'API Dialogflow CX per le interazioni. L'implementazione dell'interfaccia utente controlla l'implementazione.

Monitorare le prestazioni dell'agente

Puoi monitorare la cronologia delle conversazioni degli agenti e utilizzare lo strumento di analisi per le statistiche degli agenti.

Intenzioni speciali

Oltre a gestire le domande sui contenuti forniti, l'agente del datastore può gestire i seguenti tipi di domande:

  • Identificazione dell'agente: Gestisce domande come "Chi sei?" o "Sei un essere umano?".
  • Riassegna a un agente umano: gestisce domande come "Voglio parlare con una persona" o "Voglio parlare con una persona reale".

Ciò è possibile grazie a intent e routine di intent generati automaticamente.

Agenti ibridi

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

Nell'ambito di questo upgrade, potresti voler eliminare o disattivare temporaneamente le route di intent (durante il test dei gestori del datastore) per determinati scenari di conversazione dal 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 possono rispondere i documenti o il 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 che non forniscono 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 dell'agente.

Dialogflow valuta l'input utente finale nel seguente ordine di preferenza:

  1. Corrispondenza di intent per le route nell'ambito
  2. Domande frequenti sui contenuti del datastore
  3. Contenuti del datastore non strutturati

Ordine di valutazione dell'input

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

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

Aggiungere o modificare i gestori del datastore per un agente esistente

I gestori del datastore sono un tipo speciale di gestore dello stato di Dialogflow. Ciò significa che puoi applicarle a flussi o pagine e che vengono valutate utilizzando le stesse regole di 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. In genere questo è il flusso di avvio predefinito.
  5. Seleziona la pagina associata al gestore del datastore. In genere si tratta 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 di seguito sulle impostazioni specifiche per i datastore.

Risposte dell'agente

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 dovrebbero 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, potrebbe voler chiarire che cos'è un CVV. In questo caso, l'agente deve rispondere alla domanda e tornare a raccogliere i dati necessari della carta di credito. A questo scopo, puoi creare un gestore dell'archivio dati con datastore che rispondono alla domanda, applicarlo alla pagina iniziale del flusso del flusso che gestisce la raccolta dei dati della carta di credito e impostare una destinazione di transizione per questo gestore affinché torni alla "pagina corrente".

Gestire le corrispondenze di intent indesiderate

Se il tuo agente abbina gli intent quando dovrebbe utilizzare un gestore del datastore, puoi provare quanto segue per risolvere il problema:

  • Elimina o modifica le frasi di addestramento che sono 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, a seconda dei valori dei parametri di sessione, potresti volere che solo determinati datastore siano disponibili per le query. Ad esempio, potresti avere datastore univoci per le categorie di prodotti. Per filtrare i dati del datastore in base alle categorie di prodotti:

  • Imposta i parametri di sessione sulle categorie di prodotti.
  • Crea route di condizioni che controllano i valori dei parametri di sessione e passa a una pagina specifica che abbia 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 c'è uno schema previsto, quindi puoi definire le proprietà degli oggetti. Questo JSON viene inviato al modello LLM così com'è, quindi i nomi e i valori descrittivi delle proprietà garantiscono 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 dell'intento. Devi fornire queste informazioni in ogni richiesta di rilevamento dell'intent, poiché non sono rese persistenti nella sessione.

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

Seleziona un protocollo e una versione per il riferimento sessione:

Protocollo V3 V3beta1
REST Risorsa sessione Risorsa sessione
RPC Interfaccia sessione Interfaccia 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 maggiore controllo sul comportamento dell'agente e migliorare la qualità delle risposte, le configurazioni di ricerca Boost e Filtri sono esposte per consentirti di potenziare, bury e filtrare i documenti.

I controlli del miglioramento delle impostazioni ti consentono di modificare il ranking dei risultati di ricerca mediante l'applicazione di un valore di miglioramento (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 file JSON dipende dal tipo di controllo della ricerca.

Controllo Boost

La seguente configurazione di ricerca descrive un controllo di boosting:

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

Imposta la configurazione di ricerca con l'API Dialogflow

Puoi fornire questi dati a Dialogflow quando invii richieste di rilevamento dell'intento. Devi fornire queste informazioni in ogni richiesta di rilevamento dell'intent, poiché non sono rese persistenti nella sessione.

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

Seleziona un protocollo e una versione per il riferimento sessione:

Protocollo V3 V3beta1
REST Risorsa sessione Risorsa sessione
RPC Interfaccia sessione Interfaccia 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 incorpora 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.