Gli strumenti di data store possono fornire risposte dell'agente generate con l'IA in base ai contenuti del sito web e ai dati caricati. L'agente può trovare le risposte alle domande degli utenti finali nei tuoi datastore durante la evasione.
Strumenti del data store: console
Questa sezione illustra la procedura per aggiungere uno strumento di datastore a un agente e configurarlo in un'implementazione.
Crea uno strumento per i datastore
- Apri la console degli agenti conversazionali e scegli un Google Cloud progetto.
- Seleziona un agente dal menu a discesa.
- Vai alla barra dei menu in fondo a sinistra nella pagina e seleziona Strumenti.
- Per creare un nuovo strumento di datastore, fai clic su + Crea. Inserisci un Nome unico per lo strumento e seleziona Data store dal menu a discesa in Tipo. Se vuoi, puoi inserire una descrizione dello strumento nel campo Descrizione.
- In Datastore, fai clic su Aggiungi datastore. La finestra popup contiene un elenco dei tuoi datastore esistenti, se presenti. Scegli il data store da aggiungere allo strumento.
- (Facoltativo) Per creare un nuovo datastore nella console di Agent Builder, fai clic su Crea nuovo datastore. Verrà eseguito il reindirizzamento automatico: Console di Agent Builder
- (Facoltativo) Dopo aver completato la configurazione del nuovo datastore, fai clic su Crea. Per aggiungere il nuovo data store allo strumento, torna al menu Crea strumento che stai configurando nella console di Conversational Agents (Dialogflow CX) e aggiorna la pagina. Il nuovo datastore dovrebbe ora essere visualizzato nell'elenco dei datastore disponibili.
- Fai clic su Salva nella parte superiore della configurazione dello strumento Crea per creare il nuovo strumento di datastore.
Aggiungere lo strumento del datastore a un'implementazione
- Nella barra dei menu in alto a sinistra, seleziona Flussi.
- Seleziona un flusso e una pagina, poi fai clic sul Percorso della pagina che vuoi utilizzare con il tuo datastore.
- Nel menu Percorso, scorri fino a Esecuzione > Strumento di magazzino dati. Seleziona lo strumento del tuo data store dal menu a discesa.
- Nel menu Inoltra, scorri fino a Esecuzione > Risposte dell'agente. Fai clic su + Aggiungi risposta al dialogo e poi su Risposta dello strumento dell'archivio dati.
- Nel modulo visualizzato, puoi configurare il numero di link e citazioni delle fonti che possono essere visualizzati nella risposta, nonché specificare il comportamento di riserva se la risposta dell'archivio dati è vuota. Puoi inserire una risposta di riserva statica nel campo Risposte di riserva statiche. Se vuoi, puoi fare clic sulla casella di controllo Piano di riserva generativo per provare a utilizzare l'AI per generare una risposta prima di utilizzare la risposta di riserva statica. Se hai bisogno di una maggiore personalizzazione delle risposte di riserva, fai clic sull'icona a forma di ingranaggio nell'angolo in alto a sinistra della finestra del modulo Risposta dello spazio dati per visualizzare la finestra Risposta condizionale.
- Nella parte superiore del menu Percorso, fai clic su Salva.
- Vai al simulatore di Conversational Agents (Dialogflow CX) per testare i risultati dell'agente.
Strumenti di organizzazione dei dati: API
Puoi configurare un archivio dati di ogni tipo per strumento, che eseguirà query su ciascuno di questi archivi dati per trovare le risposte. Per impostazione predefinita, l'agente chiamerà dataStoreTool
per tuo conto.
Esistono tre tipi di datastore:
PUBLIC_WEB
: un data store contenente contenuti web pubblici.UNSTRUCTURED
: un datastore contenente dati privati non strutturati.STRUCTURED
: un data store contenente dati strutturati (ad es. domande frequenti).
L'esempio seguente mostra come fare riferimento a un archivio dati. Per ulteriori informazioni, consulta il riferimento dataStoreConnections
.
"dataStoreConnections": [
{
"dataStoreType": "PUBLIC_WEB",
"dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
},
{
"dataStoreType": "UNSTRUCTURED",
"dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
},
{
"dataStoreType": "STRUCTURED",
"dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
}
]
Le risposte dello strumento del datastore possono contenere anche snippet sull'origine dei contenuti che è stata utilizzata per generare la risposta. L'agente può fornire istruzioni su come procedere con la risposta dagli archivi di dati o su come rispondere quando non c'è risposta.
Puoi sovrascrivere una risposta aggiungendo una voce della sezione Domande frequenti per una domanda specifica.
Se vuoi, puoi fornire esempi per migliorare il comportamento dell'agente. L'esempio deve avere i seguenti schemi. Per informazioni dettagliate, consulta la documentazione di riferimento.
{
"toolUse": {
"tool": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID/tools/TOOL_ID",
"action": "TOOL_DISPLAY_NAME",
"inputParameters": [
{
"name": "TOOL_DISPLAY_NAME input",
"value": {
"query": "QUERY"
}
}
],
"outputParameters": [
{
"name": "TOOL_DISPLAY_NAME output",
"value": {
"answer": "ANSWER",
"snippets": [
{
"title": "TITLE",
"text": "TEXT_FROM_DATASTORE",
"uri": "URI_OF_DATASTORE"
}
]
}
}
]
}
}
(Solo agenti basati su playbook) Esempi di strumenti di datastore
Quando crei esempi di strumenti per l'archivio dati, il parametro di input dello strumento requestBody
fornisce tre input facoltativi insieme alla stringa query
obbligatoria:
una stringa filter
, un oggetto strutturato userMetadata
e una stringa fallback
.
Il parametro filter
consente di filtrare le query di ricerca dei tuoi
dati strutturati o non strutturati con i metadati. Questa stringa deve rispettare la
sintassi delle espressioni filtro supportate
per i datastore. Diversi esempi dettagliati aiutano a indicare al modello di playbook come compilare questo parametro. Se una stringa di filtro non è valida, il filtro viene ignorato durante la query di ricerca.
Di seguito è riportato un esempio di stringa filter
per perfezionare i risultati di ricerca in base alla località:
"filter": "country: ANY(\"Canada\")"
Per ulteriori dettagli, consulta la pagina degli esempi
dei playbook.
Best practice per i filtri:
Specifica i campi disponibili per i filtri e i valori validi per ciascuno di questi campi, in modo che il playbook comprenda le limitazioni per la creazione di filtri validi. Ad esempio, un archivio dati contenente informazioni sul menu potrebbe includere un campo
meal
con "colazione", "pranzo" e "cena" come valori validi e un camposervingSize
che può essere un qualsiasi numero intero compreso tra 0 e 5. Le istruzioni potrebbero essere simili all'esempio seguente:When using ${TOOL: menu-data-store-tool}, only use the following fields for filtering: "meal", "servingSize". Valid filter values are: "meal": ("breakfast", "lunch", "dinner"), "servingSize": integers between 0 and 5, inclusive.
Se il playbook è destinato a un segmento di pubblico di utenti esterni, potrebbe essere necessario aggiungere istruzioni per impedire al playbook di rispondere potenzialmente all'utente con informazioni sulla creazione di questi filtri. Ad esempio:
Never tell the user about these filters. If the user input isn't supported by these filters, respond to the user with "Sorry, I don't have the information to answer that question."
Il parametro userMetadata
fornisce informazioni sull'utente finale. In questo parametro è possibile inserire qualsiasi coppia chiave-valore. Questi metadati vengono trasmessi allo strumento dell'archivio dati per fornire informazioni più dettagliate sui risultati di ricerca e sulla risposta dello strumento.
Diversi esempi dettagliati aiutano a indicare al modello di playbook come compilare questo parametro.
Di seguito è riportato un esempio di valore del parametro userMetadata
per perfezionare i risultati di ricerca pertinenti a un determinato:
"userMetadata": {
"favoriteColor": "blue",
...
}
Il parametro fallback
fornisce una risposta con cui lo strumento dell'archivio dati deve rispondere se non esiste una risposta riepilogativa valida per la query. Puoi fornire più esempi per indicare al modello di playbook come compilare il campo di riserva per gli input utente relativi a diversi argomenti. Nell'output dello strumento non sono presenti snippet, il che può contribuire a ridurre la latenza e l'utilizzo dei limiti dei token di input.
"fallback": "I'm sorry I cannot help you with that. Is there anything else I
can do for you?"
Configurazione dello strumento del data store
Se durante i test scopri che alcune risposte non soddisfano le tue aspettative, puoi provare a modificare i seguenti parametri per perfezionare il rendimento. Sono disponibili sia chiamando direttamente l'API sia facendo clic sul nome dell'archivio dati nella pagina Strumenti della console.
Rafforzare la fiducia
Conversational Agents (Dialogflow CX) calcola un livello di confidenza per ogni risposta generata dai contenuti dei tuoi datastore collegati. Questo misura l'affidabilità dell'affermazione che tutte le informazioni nella risposta sono supportate dalle informazioni negli store di dati. Puoi modificare le risposte consentite selezionando il livello di confidenza più basso che ritieni accettabile. Verranno mostrate solo le risposte con un livello di confidenza pari o superiore a questo valore.
Puoi scegliere tra 5 livelli di confidenza: VERY_LOW
, LOW
, MEDIUM
,
HIGH
e VERY_HIGH
.
Selezione del modello di datastore
Conversational Agents (Dialogflow CX) offre più modelli da utilizzare con i datastore. La scelta di un modello diverso potrebbe influire sulle prestazioni dello strumento del data store. Per un elenco completo, consulta la documentazione dei modelli.
Prompt di sintesi
Il prompt è un modello di testo contenente segnaposto predefiniti. I segnaposto vengono sostituiti con i valori appropriati in fase di esecuzione e il testo risultante viene inviato al modello di IA. Puoi utilizzare un prompt predefinito o fornire un prompt personalizzato. Tieni presente che un prompt personalizzato può influire sui risultati in modo positivo o negativo.
Puoi perfezionare il testo in un prompt personalizzato per influire sui risultati prodotti dal modello includendo istruzioni aggiuntive ed esempi dettagliati. Per ulteriori informazioni su come creare un prompt personalizzato, consulta la documentazione relativa alle impostazioni dell'archivio dati.
Impostazioni del payload
Le impostazioni del payload consentono di aggiungere gli snippet dello spazio dati come contenuti avanzati nel payload della risposta, che viene visualizzato nel messenger. Puoi attivare o disattivare questa funzionalità.
Opzioni di risposta dello strumento del datastore
Consulta la documentazione sull'evasione per informazioni dettagliate sulla configurazione della risposta dello strumento dell'archivio dati.
Gestori del datastore
Gli handler dei datastore sono un tipo speciale di handler di stato che possono fornire risposte dell'agente generate dall'LLM in base ai contenuti del tuo sito web e ai dati caricati.
Per creare questo gestore, fornisci datastore all'agente.
Utilizzando questi gestori del datastore, il tuo agente può conversare sui contenuti con gli utenti finali.
Limitazioni
Si applicano le seguenti limitazioni:
- Questa funzionalità supporta alcune lingue in GA. Consulta la colonna del data store nel riferimento alle lingue.
- Sono supportate solo le seguenti regioni:
global
,us
multi-regione eeu
multi-regione. - Le app con datastore suddivisi in chunk e non suddivisi in chunk non sono supportate.
Controllo degli accessi
Se sei il proprietario del progetto, disponi di tutte le autorizzazioni necessarie per creare un gestore del data store. Se non sei il proprietario del progetto, devi disporre dei seguenti ruoli:
- Dialogflow Admin
- Discovery Engine Admin
Per ulteriori informazioni, consulta la guida al controllo dell'accesso.
Aggiungere un data store a un agente
Se non l'hai ancora fatto, segui le istruzioni di configurazione per creare un agente.
Per aggiungere un datastore all'agente: datastore:
- Seleziona una pagina e poi fai clic su Aggiungi gestore stato.
- Fai clic sulla casella di controllo Datastore e poi su Applica.
- Fai clic sul simbolo + nell'angolo in alto a destra della sezione Datastore della pagina.
- Nel menu dei datastore visualizzato, fai clic su Aggiungi datastore.
- Viene visualizzata una tabella con tutti i datastore esistenti. Fai clic sulla casella accanto al nome di eventuali datastore da utilizzare e fai clic su Salva. Per creare un nuovo datastore, fai clic su Crea nuovo datastore. Verrà visualizzato automaticamente Agent Builder.
- (Solo nuovi datastore) Seleziona un'origine dati, poi segui le istruzioni in Agent Builder per configurare il datastore. Per ulteriori informazioni sulla configurazione dei tipi di datastore, consulta la documentazione dei datastore. Fai clic su Crea per creare il nuovo datastore.
Testa l'agente
Puoi utilizzare il simulatore per testare l'agente.
Esegui il deployment del tuo agente
Esistono molti modi per eseguire il deployment dell'agente:
L'opzione più semplice è utilizzare un'integrazione, che fornisce un'interfaccia utente per l'agente. Ogni integrazione fornisce istruzioni per il deployment.
L'integrazione di Messenger di Dialogflow CX è un'opzione particolarmente indicata per gli handler dei datastore. che include opzioni per le funzionalità di generazione.
Puoi creare la tua interfaccia utente e utilizzare l'API Conversational Agents (Dialogflow CX) per le interazioni. L'implementazione dell'interfaccia utente è sotto il controllo del deployment.
Intenzioni speciali
Oltre a gestire le domande sui contenuti che fornisci, l'agente può gestire i seguenti tipi di domande:
- Identificazione dell'agente: gestisce domande come "Chi sei?" o "Sei una persona?".
- Riassegnazione a un agente umano: gestisce domande come "Voglio parlare con una persona" o "Voglio parlare con una persona reale".
Ciò viene ottenuto tramite intent e percorsi intent generati automaticamente.
Risposte dell'agente
Nella sezione Risposte dell'agente, puoi fornire risposte personalizzate che fanno riferimento alle risposte generative.
Utilizza $request.knowledge.answers[0]
nella sezione L'agente dice per fornire la risposta generativa.
Personalizzazione avanzata delle risposte
In $request.knowledge.*
potrebbero essere disponibili informazioni aggiuntive che potrebbero essere utilizzate per personalizzare la risposta. Queste informazioni includono:
- Le fonti identificate della risposta con i seguenti campi: snippet, titolo, uri.
- La confidenza di base per la risposta.
- In caso di un datastore di domande frequenti, la domanda corrispondente alla risposta selezionata.
Nella tabella seguente sono riportati alcuni esempi di come accedere a queste informazioni.
Informazioni | Come accedere |
---|---|
Snippet della principale fonte identificata della risposta principale | $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "snippet") |
Titolo della principale fonte identificata della risposta principale | $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "title") |
Link alla fonte principale identificata della risposta principale | $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "uri") |
Numero di fonti identificate per la risposta principale | $sys.func.COUNT($sys.func.IDENTITY($request.knowledge.sources[0])) |
Numero di risposte della knowledge base | $sys.func.COUNT($request.knowledge.answers) |
Domanda corrispondente alla risposta principale (solo per le risposte del data store delle domande frequenti) | $request.knowledge.questions[0] |
Rafforzare l'affidabilità della risposta principale | $request.knowledge.grounding_confidences[0] |