I connettori di conoscenza completano gli intent definiti. Analizzano i documenti informativi (ad esempio, domande frequenti o articoli) per trovare risposte automatiche. Per configurarle, devi definire una o più Knowledge Base, ovvero raccolte di documenti informativi.
Puoi attivare le knowledge base per l'agente, in modo che tutte le richieste di rilevamento di intent possano trovare risposte automatiche utilizzando le tue knowledge base. In alternativa, puoi specificare una o più knowledge base nelle singole richieste di rilevamento dell'intento.
È frequente che un agente che usa i connettori di conoscenza usi i intent definiti. I connettori di conoscenza offrono meno precisione e controllo delle risposte rispetto agli intent. Devi definire gli intent per gestire richieste complesse degli utenti e lasciare che i connettori di conoscenza gestiscano le richieste semplici.
Per un elenco delle lingue supportate, consulta la colonna Connettori di conoscenza nel riferimento sulle lingue.
Limitazioni
La funzionalità dei connettori di conoscenza è disponibile solo per la global
regione.
Abilita le funzionalità beta
Assicurati che le funzionalità beta siano attivate:
- Vai alla console Dialogflow ES.
- Seleziona un agente.
- Fai clic sul pulsante delle impostazioni settings accanto al nome dell'agente.
- Scorri verso il basso nella scheda Generali e assicurati che le Funzionalità beta siano attivate.
- Se hai apportato modifiche, fai clic su Salva.
Crea una knowledge base e un documento
Segui le istruzioni riportate in informazioni sulle knowledge base per creare una knowledge base e un documento.
Impostazioni per i connettori di conoscenza
Puoi attivare o disattivare le knowledge base per l'agente. Le knowledge base abilitate verranno prese in considerazione per tutte le richieste con corrispondenza degli intent che non specificano knowledge base. Per attivare o disattivare le knowledge base:
- Vai alla console Dialogflow ES.
- Seleziona un agente.
- Fai clic su Conoscenza nel menu della barra laterale sinistra.
- Seleziona una o più knowledge base dall'elenco.
- Fai clic su Attiva o Disattiva.
Quando anche un'espressione dell'utente finale corrisponde a un intent, puoi specificare in che misura preferisci i risultati relativi alle informazioni:
- Scorri verso il basso fino alla sezione Modifica le preferenze dei risultati informativi.
- Sposta il cursore da più debole (preferenza data all'intenzione) a più forte (preferenza data alla conoscenza). Per ulteriori informazioni, consulta la sezione Rilevare le risposte di intent di seguito.
Configura le risposte
Per impostazione predefinita, una knowledge base è configurata con una singola risposta di testo predefinita completata con la risposta informativa più corrispondente. Puoi modificare questa risposta e aggiungere messaggi di risposta avanzati. Le risposte di knowledge base possono contenere fino a tre risposte per knowledge base e puoi fare riferimento a queste risposte nelle risposte configurate. Per aggiungere risposte:
- Nella pagina Knowledge, fai clic sul nome della tua knowledge base.
- Scorri verso il basso fino alla sezione Risposte e aggiungi le risposte che preferisci:
- Quando definisci la prima risposta,
utilizza
$Knowledge.Question[1]
e$Knowledge.Answer[1]
dove vuoi che vengano fornite la domanda e la risposta. - L'indice per
$Knowledge.Question
e$Knowledge.Answer
inizia da 1, quindi aumenta questo indice quando aggiungi altre risposte.
- Quando definisci la prima risposta,
utilizza
- Al termine della modifica, fai clic su Salva.
Quando definisci le risposte, dovresti considerare questi punti:
- Se il numero di risposte definite è maggiore del numero N di corrispondenze di risposte del connettore di conoscenza, verranno restituite solo N risposte.
- Dato che l'accuratezza potrebbe essere inferiore rispetto alla corrispondenza di intent definiti esplicitamente, ti consigliamo di restituire tre risposte ai tuoi utenti, quando possibile.
Esempio:
Rileva l'intenzione con la knowledge base
Quando effettui una richiesta di rilevamento di intent, puoi specificare una o più knowledge base per una possibile risposta. La fornitura esplicita di knowledge base in una richiesta esegue l'override delle impostazioni per le knowledge base attivate e disattivate.
Gli esempi riportati di seguito mostrano come utilizzare la console di Dialogflow, l'API REST (inclusa la riga di comando) o le librerie client per rilevare l'intent.
Per utilizzare l'API, chiama il metodo detectIntent
sul tipo Sessions
.
UI web
Puoi interagire con l'agente e ricevere le risposte del connettore di conoscenza tramite il simulatore Dialogflow:- Segui i passaggi riportati sopra per attivare una knowledge base.
- Segui la procedura sopra riportata per definire le risposte.
- Digita "Come mi registro?" nel simulatore.
REST
Richiama il metododetectIntent
sul tipo Sessions
e specifica la knowledge base nel campo queryParams
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- KNOWLEDGE_BASE_ID: il tuo ID knowledge base
Metodo HTTP e URL:
POST https://dialogflow.googleapis.com/v2beta1/projects/PROJECT_ID/agent/sessions/123456789:detectIntent
Corpo JSON della richiesta:
{ "queryInput": { "text": { "text": "How do I sign up?", "languageCode": "en-US" } }, "queryParams": { "knowledgeBaseNames": ["projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID"] } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ ... "queryResult": { "queryText": "How do I sign up?", "parameters": {}, "allRequiredParamsPresent": true, "fulfillmentText": "Sign up for Cloud Storage by turning on the Cloud Storage service in the Google Cloud Platform Console.", "intent": { "name": "projects/my-gcp-project/agent/intents/487c7242-a769-408a-a339-47b95e10dac4", "displayName": "Knowledge.KnowledgeBase.MzkzNTAyMDE3NDQxNDk3MDg4MA" }, "intentDetectionConfidence": 0.99371547, "languageCode": "en-us", "knowledgeAnswers": { "answers": [ { "answer": "Sign up for Cloud Storage by turning on the Cloud Storage service in the Google Cloud Platform Console.", "matchConfidenceLevel": "HIGH", "matchConfidence": 0.99371547 }, { "answer": "Certain types of content are not allowed on this service; please refer to the Terms of Services and Platform Policies for details. If you believe a piece of content is in violation of our policies, report it here (select See more products, then Google Cloud Storage and Cloud Bigtable).", "matchConfidenceLevel": "LOW", "matchConfidence": 0.0012244871 }, { "answer": "From the Cloud Storage documentation click \"Send feedback\" near the top right of the page. This will open a feedback form. Your comments will be reviewed by the Cloud Storage team.", "matchConfidenceLevel": "LOW", "matchConfidence": 0.0011537358 } ] } } }
Java
Per eseguire l'autenticazione in Dialogflow, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per eseguire l'autenticazione in Dialogflow, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione in Dialogflow, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Rileva le risposte di intent
La risposta per il metodo di tipo detectIntent
Sessions
è un DetectIntentResponse
.
La modalità di compilazione dei campi di risposta dipende da più fattori.
Se un intent definito e una knowledge base sono entrambi potenziali corrispondenze,
l'affidabilità della corrispondenza di ciascuna e la preferenza dei risultati di conoscenza
(consulta Impostazioni per i connettori di conoscenza)
vengono utilizzate per determinare quale corrispondenza è la corrispondenza selezionata.
La corrispondenza selezionata viene compilata nel campo DetectIntentResponse.queryResult
,
mentre le altre potenziali corrispondenze vengono completate nel campo DetectIntentResponse.alternativeQueryResults
.
Entrambi questi campi contengono QueryResult
messaggi.
Se una knowledge base fornisce una potenziale corrispondenza:
QueryResult.knowledgeAnswers
viene compilato con un elenco di potenziali risposte relative alle informazioni ordinate riducendo l'affidabilità della corrispondenza.- Se sono state definite risposte dettagliate per la knowledge base,
QueryResult.fulfillmentMessages
vengono inseriti messaggi di risposta dettagliati.
Quando esegui una richiesta di rilevamento dell'intento,
è possibile che la query abbia esito negativo.
In questo caso, vengono selezionati intent definiti,
quindi la richiesta di intent di rilevamento complessiva non avrà esito negativo.
Puoi trovare le informazioni sull'errore di query sulle informazioni nel campo DetectIntentResponse.alternativeQueryResults[i].diagnosticInfo
.
Gestione delle knowledge base
Per scoprire di più sulla gestione delle knowledge base, consulta Gestire le knowledge base.