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:
- Immissione dei parametri durante la compilazione del modulo.
- Corrispondenze di intent per le route nell'ambito.
- Gestore del datastore con contenuti di domande frequenti sul datastore.
- 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:
- Vai alla console Dialogflow CX.
- Selezionare il tuo progetto Google Cloud.
- Seleziona l'agente.
- Seleziona il flusso associato al gestore del datastore. Questo è in genere il flusso di avvio predefinito.
- Seleziona la pagina associata al gestore del datastore. Si tratta in genere della pagina iniziale.
- Fai clic su Aggiungi gestore di stato nei dati della pagina, poi seleziona Datastore.
- 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.
- Se hai già un datastore, fai clic su Modifica datastore.
- 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.