I connettori di conoscenza integrano gli intent definiti. Analizzano i documenti informativi (ad esempio domande frequenti o articoli) per trovare risposte automatiche. Per configurarle, definisci una o più Knowledge Base, ovvero raccolte di documenti di conoscenza.
Puoi abilitare le knowledge base per il tuo 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 tue richieste di rilevamento dell'intento individuali.
Capita spesso che un agente che usa connettori di conoscenza usi anche intent definiti. I connettori di conoscenza offrono meno precisione e controllo della risposta rispetto agli intent. Dovresti definire i tuoi intent per gestire le 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 nella documentazione di riferimento sulle lingue.
Limitazioni
La funzionalità dei connettori di conoscenza è disponibile solo per la
regione global
.
Attiva 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 mentre ti trovi nella scheda Generali e assicurati che l'opzione Funzionalità beta sia attiva.
- Se hai apportato modifiche, fai clic su Salva.
Crea una knowledge base e un documento
Segui le istruzioni nelle istruzioni sulle knowledge base per creare una knowledge base e un documento.
Impostazioni per i connettori di conoscenza
Puoi abilitare o disabilitare le knowledge base per il tuo agente. Le knowledge base abilitate verranno prese in considerazione per tutte le richieste di corrispondenza degli intent che non specificano le knowledge base. Per abilitare o disabilitare 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 di un utente finale corrisponde a un intent, puoi specificare in che misura preferisci i risultati relativi alle conoscenze:
- Scorri verso il basso fino alla sezione Modifica le preferenze per i risultati delle conoscenze.
- Regola il cursore da debole (preferenza attribuita all'intento) a più forte (preferenza attribuita alle conoscenze). Per ulteriori informazioni, consulta Rilevare le risposte di intent di seguito.
Configura le risposte
Per impostazione predefinita, una knowledge base è configurata con un'unica risposta di testo predefinita compilata con la migliore risposta alla conoscenza corrispondente. Puoi modificare questa risposta e aggiungere messaggi di risposta avanzata. Le risposte relative alle conoscenze possono contenere fino a tre risposte per knowledge base, ma puoi fare riferimento a queste risposte nelle risposte configurate. Per aggiungere risposte:
- Nella pagina Conoscenze, fai clic sul nome della knowledge base.
- Scorri verso il basso fino alla sezione Risposte e aggiungi le risposte in base alle tue esigenze:
- Quando definisci la prima risposta,
usa
$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 aumentalo quando aggiungi altre risposte.
- Quando definisci la prima risposta,
usa
- Al termine della modifica, fai clic su Salva.
Quando definisci le risposte, devi tenere in considerazione 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 alla corrispondenza degli intent esplicitamente definiti, ti consigliamo di restituire tre risposte agli utenti, se possibile.
Esempio:
Rileva l'intento con la knowledge base
Quando effettui una richiesta di rilevamento dell'intento, puoi specificare una o più knowledge base per una possibile risposta. Se fornisci esplicitamente i knowledge base in una richiesta, le impostazioni per le knowledge base abilitate e disabilitate vengono sostituite.
Gli esempi riportati di seguito mostrano come utilizzare la console di Dialogflow, l'API REST (compresa 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 risposte dei connettori di conoscenza tramite il simulatore Dialogflow:- Segui i passaggi precedenti per attivare una knowledge base.
- Segui i passaggi precedenti per definire le risposte.
- Digita "Come faccio a iscrivermi?" nel simulatore.
REST
Chiama 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 delle seguenti 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 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 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 Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Rilevamento delle risposte di intent
La risposta per il metodo detectIntent
di tipo Sessions
è DetectIntentResponse
.
Diversi fattori influiscono sul modo in cui i campi di risposta vengono compilati.
Se un intent definito e una knowledge base sono entrambe potenziali corrispondenze,
la confidenza di corrispondenza di ciascuno e la preferenza dei risultati delle conoscenze
(consulta Impostazioni per i connettori di conoscenza)
vengono utilizzate per determinare quale corrispondenza sia la corrispondenza selezionata.
La corrispondenza selezionata viene compilata nel campo DetectIntentResponse.queryResult
,
mentre altre potenziali corrispondenze vengono inserite 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 alle conoscenze ordinate per diminuire l'affidabilità della corrispondenza.- Se sono state definite risposte avanzate per la knowledge base,
QueryResult.fulfillmentMessages
viene compilato con messaggi di risposta avanzati.
Quando esegui una richiesta di rilevamento dell'intent,
è possibile che la query di knowledge base non vada a buon fine.
In questo caso, vengono selezionati gli intent definiti,
così la richiesta di rilevamento dell'intent generale non andrà a buon fine.
Puoi trovare le informazioni sugli errori relativi alle query di knowledge base nel campo DetectIntentResponse.alternativeQueryResults[i].diagnosticInfo
.
Gestione delle knowledge base
Per scoprire di più sulla gestione delle knowledge base, consulta Gestire le knowledge base.