I connettori di conoscenza integrano gli intent definiti. Analizzano i documenti della knowledge base (ad esempio, domande frequenti o articoli) per trovare risposte automatiche. Per configurarle, definisci una o più knowledge base, che sono raccolte di documenti di conoscenza.
Puoi attivare le knowledge base per il tuo agente, in modo che tutte le richieste di rilevamento dell'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'intent.
È comune che un agente che utilizza i connettori di conoscenza utilizzi anche intent definiti. I connettori di conoscenza offrono meno precisione e controllo delle risposte rispetto agli intent. Devi definire gli 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 Knowledge Connectors nel riferimento alle lingue.
Limitazioni
La funzionalità dei connettori della conoscenza è disponibile solo per la global
regione.
Abilitare 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 l'opzione Funzionalità beta sia attivata.
- Se hai apportato modifiche, fai clic su Salva.
Creare una knowledge base e un documento
Segui le istruzioni riportate nella guida alle knowledge base per creare una knowledge base e un documento.
Impostazioni per i connettori di conoscenza
Puoi attivare o disattivare 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 knowledge base. Per attivare o disattivare le knowledge base:
- Vai alla console Dialogflow ES.
- Seleziona un agente.
- Fai clic su Knowledge nel menu della barra laterale a sinistra.
- Seleziona una o più knowledge base dall'elenco.
- Fai clic su Attiva o Disattiva.
Quando un'espressione dell'utente finale corrisponde anche a un intent, puoi specificare il livello di preferenza per i risultati della knowledge base:
- Scorri verso il basso fino alla sezione Modifica preferenza risultati di Knowledge.
- Regola il cursore da più debole (preferenza data all'intent) a più forte (preferenza data alla conoscenza). Per maggiori informazioni, vedi Rilevare le risposte di intent di seguito.
Configurare le risposte
Per impostazione predefinita, una knowledge base è configurata con una singola risposta di testo predefinita compilata con la risposta della knowledge base più pertinente. Puoi modificare questa risposta e aggiungere messaggi di risposta avanzata. Le risposte della knowledge base possono contenere fino a tre risposte per knowledge base e puoi farvi riferimento nelle risposte configurate. Per aggiungere risposte:
- Nella pagina Knowledge, fai clic sul nome della 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 inserite 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 delle modifiche, fai clic su Salva.
Quando definisci le risposte, devi considerare questi punti:
- Se il numero di risposte definite è maggiore del numero N di corrispondenze delle risposte del connettore della conoscenza, verranno restituite solo N risposte.
- Poiché l'accuratezza potrebbe essere inferiore rispetto alla corrispondenza con intent definiti in modo esplicito, ti consigliamo di restituire tre risposte agli utenti, se possibile.
Esempio:
Rilevamento dell'intent con la knowledge base
Quando effettui una richiesta di rilevamento dell'intent, puoi specificare una o più knowledge base per una possibile risposta. Fornire esplicitamente le knowledge base in una richiesta esegue l'override delle impostazioni per le knowledge base abilitate e disabilitate.
Gli esempi riportati di seguito mostrano come utilizzare la console 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 risposte del connettore di conoscenza tramite il simulatore di Dialogflow:- Segui i passaggi precedenti per attivare una knowledge base.
- Segui i passaggi precedenti per definire le risposte.
- Digita "Come faccio a registrarmi?" nel simulatore.
REST
Chiama il metododetectIntent
sul tipo
Sessions
e specifica la knowledge base nel campo queryParams
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud
- KNOWLEDGE_BASE_ID: l'ID della 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 ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per eseguire l'autenticazione in Dialogflow, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione in Dialogflow, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Rilevare le risposte di intent
La risposta per il metodo
Sessions
di tipo detectIntent
è un DetectIntentResponse
.
Il modo in cui vengono compilati i campi di risposta dipende da diversi fattori.
Se un intento definito e una knowledge base sono entrambi potenziali corrispondenze,
la confidenza della corrispondenza di ciascuno e la preferenza per i risultati della knowledge base
(vedi Impostazioni per i connettori della knowledge base)
vengono utilizzate per determinare quale corrispondenza viene selezionata.
La corrispondenza selezionata viene inserita nel campo DetectIntentResponse.queryResult
,
mentre le altre potenziali corrispondenze vengono inserite nel campo DetectIntentResponse.alternativeQueryResults
.
Entrambi questi campi contengono messaggi QueryResult
.
Se una knowledge base fornisce una potenziale corrispondenza:
QueryResult.knowledgeAnswers
viene compilato con un elenco di potenziali risposte della knowledge ordinate in base alla probabilità di corrispondenza decrescente.- 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 conoscenza non vada a buon fine.
In questo caso, verranno selezionati gli intent definiti,
in modo che la richiesta di rilevamento dell'intent complessiva non vada in errore.
Puoi trovare informazioni sugli errori delle query di Knowledge nel campo DetectIntentResponse.alternativeQueryResults[i].diagnosticInfo
.
Gestione delle knowledge base
Per scoprire di più sulla gestione delle knowledge base, consulta Gestire le knowledge base.