Una knowledge base rappresenta una raccolta di documenti della knowledge base che fornisci a Dialogflow. I documenti della knowledge base contengono informazioni che possono essere utili durante le conversazioni con gli utenti finali. Alcune funzionalità di Dialogflow utilizzano le knowledge base quando cercano una risposta a un'espressione dell'utente finale. Questa guida descrive come creare e gestire le knowledge base.
Una knowledge base viene applicata a livello di agente.
Prima di iniziare
Prima di leggere questa guida, devi:
- Leggi Nozioni di base su Dialogflow.
- Esegui la procedura di configurazione.
Creazione di una knowledge base
Gli esempi riportati di seguito mostrano come utilizzare la console Dialogflow, l'API REST (inclusa la riga di comando) o le librerie client per creare una knowledge base.
Per utilizzare l'API, chiama il metodo create
sul tipo KnowledgeBase
.
UI web
Utilizza la console Dialogflow per creare una knowledge base:- Vai alla console di Dialogflow ES.
- Select an agent
- Fai clic su Knowledge nel menu della barra laterale a sinistra.
- Fai clic su Crea Knowledge Base.
- Inserisci un nome per la knowledge base
- Fai clic su Salva.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud
- KNOWLEDGE_BASE_DISPLAY_NAME: il nome della knowledge base che vuoi
Metodo HTTP e URL:
POST https://dialogflow.googleapis.com/v2beta1/projects/PROJECT_ID/knowledgeBases
Corpo JSON della richiesta:
{ "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/knowledgeBases/NDA4MTM4NzE2MjMwNDUxMjAwMA", "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME" }
Prendi nota del valore del campo name
.
Questo è il nome della nuova knowledge base.
Il segmento di percorso dopo knowledgeBases
è il nuovo ID della knowledge base.
Salva questo ID per le richieste riportate di seguito.
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.
Aggiungere un documento alla knowledge base
La nuova knowledge base non contiene documenti, quindi devi aggiungerne uno. Consulta la sezione Contenuti supportati di seguito per una descrizione di tutte le opzioni di contenuti supportate. Per questo esempio, puoi utilizzare il documento Domande frequenti su Cloud Storage.
Gli esempi riportati di seguito mostrano come utilizzare la console Dialogflow, l'API REST (inclusa la riga di comando) o le librerie client per creare un documento della knowledge base.
Per utilizzare l'API, chiama il metodo create
sul tipo
Document
.
UI web
Utilizza la console Dialogflow per creare un documento della knowledge base:- Se non continui dai passaggi precedenti,
vai alle impostazioni della knowledge base:
- Vai alla console di Dialogflow ES.
- Select an agent
- Fai clic su Knowledge nel menu della barra laterale a sinistra.
- Fai clic sul nome della knowledge base.
- Fai clic su Nuovo documento o Crea il primo.
- Inserisci un nome per il documento
- Seleziona text/html per Tipo MIME
- Seleziona Domande frequenti per Tipo di conoscenza.
- Seleziona URL per Origine dati.
- Inserisci https://cloud.google.com/storage/docs/faq nel campo URL.
- Fai clic su CREA.
REST
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 restituito dalla richiesta precedente
- DOCUMENT_DISPLAY_NAME: il nome del documento di conoscenza desiderato
Metodo HTTP e URL:
POST https://dialogflow.googleapis.com/v2beta1/projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents
Corpo JSON della richiesta:
{ "displayName": "DOCUMENT_DISPLAY_NAME", "mimeType": "text/html", "knowledgeTypes": "FAQ", "contentUri": "https://cloud.google.com/storage/docs/faq" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/operations/ks-add_document-MzA5NTY2MTc5Mzg2Mzc5NDY4OA" }
Il segmento di percorso dopo operations
è l'ID operazione.
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.
La creazione di un documento è un'operazione a lunga esecuzione, pertanto potrebbe richiedere molto tempo. Puoi eseguire il polling dello stato di questa operazione per vedere se è stata completata. Una volta completata, l'operazione contiene l'ID documento appena creato. Salva questo ID per l'elaborazione futura. Per saperne di più, consulta Operazioni di lunga durata.
Gestire i documenti della knowledge base
Aggiornare i contenuti del documento della knowledge base
Se aggiorni i contenuti a cui fa riferimento un documento della knowledge base, il documento della knowledge base potrebbe non aggiornarsi automaticamente. I contenuti vengono aggiornati automaticamente solo se vengono forniti come URL pubblico e se hai selezionato l'opzione Attiva ricaricamento automatico per il documento.
Per aggiornare manualmente i contenuti dei documenti di Cloud Storage o degli URL pubblici,
chiama il metodo reload
sul tipo
Document
.
Per aggiornare manualmente i contenuti non elaborati caricati, utilizza i metodi delete
e create
sul tipo Document
per ricreare il documento.
Elenca i documenti pertinenti
Puoi elencare tutti i documenti della knowledge base.
Per utilizzare l'API, chiama il metodo list
sul tipo
Document
.
Eliminare i documenti della knowledge base
Puoi eliminare i documenti della knowledge base.
Per utilizzare l'API, chiama il metodo delete
sul tipo
Document
.
Se non hai l'ID documento,
puoi elencare i documenti come descritto sopra.
Contenuti supportati
Sono supportati i seguenti tipi di documenti della knowledge base:
- Domande frequenti: i contenuti del documento contengono coppie di domande e risposte in formato HTML o CSV. I formati HTML tipici delle domande frequenti vengono analizzati con precisione, ma l'analisi dei formati insoliti potrebbe non riuscire. Il file CSV deve includere le domande nella prima colonna e le risposte nella seconda, senza intestazione. Grazie a questo formato esplicito, vengono sempre analizzati con precisione.
- QA estrattiva: documenti per i quali viene estratto il testo non strutturato e utilizzato per rispondere alle domande.
La tabella seguente mostra i tipi MIME supportati per Tipo di conoscenza e Origine.
Knowledge Type \ Source | File caricato (Document.content) (NON consigliato) | File caricato (Document.raw_content) (consigliato) | File da Cloud Storage (Document.contentUri) | File da URL pubblico (Document.contentUri) |
---|---|---|---|---|
Domande frequenti | text/csv | text/csv | text/csv | text/html |
QA estrattiva | text/plain, text/html | text/plain, text/html, application/pdf | text/plain, text/html, application/pdf | N/D |
I contenuti dei documenti presentano i seguenti problemi noti, limitazioni e best practice:
Informazioni generali:
- I file provenienti da URL pubblici devono essere stati sottoposti a scansione dall'indicizzatore della Ricerca Google, in modo che esistano nell'indice di ricerca. Puoi verificarlo con Google Search Console. Tieni presente che l'indicizzatore non mantiene aggiornati i tuoi contenuti. Devi aggiornare esplicitamente il documento di conoscenza quando cambiano i contenuti di origine.
- I file CSV devono utilizzare le virgole come delimitatori.
- I punteggi di confidenza non sono ancora calibrati tra le domande frequenti e gli articoli della knowledge base, quindi, se utilizzi sia le domande frequenti che gli articoli della knowledge base, il risultato migliore potrebbe non essere sempre quello con il punteggio più alto.
- Dialogflow rimuove i tag HTML dai contenuti durante la creazione delle risposte. Per questo motivo, è meglio evitare i tag HTML e utilizzare il testo normale quando possibile.
- Le risposte dell'Assistente Google hanno un limite di 640 caratteri per bolla di chat, quindi le risposte lunghe vengono troncate quando vengono integrate con l'Assistente Google.
- La dimensione massima del documento è 50 MB.
- Quando utilizzi i file Cloud Storage, devi utilizzare URI pubblici o URI privati a cui il tuo account utente o account di servizio ha accesso.
Specifiche per le domande frequenti:
- Il file CSV deve includere le domande nella prima colonna e le risposte nella seconda, senza intestazione.
- Utilizza il formato CSV quando possibile, perché viene analizzato con maggiore precisione.
- I contenuti HTML pubblici con una sola coppia di domande e risposte non sono supportati.
- Il numero di coppie di domande e risposte in un documento non deve superare 2000.
- Le domande duplicate con risposte diverse non sono supportate.
- Puoi utilizzare qualsiasi documento di domande frequenti; il parser delle domande frequenti è in grado di gestire la maggior parte dei formati.
Specifico per l'estrazione di risposte:
- Extractive QA è attualmente sperimentale. Si basa su tecnologie simili che sono state provate e testate in Google in prodotti come la Ricerca e l'assistente. Inviaci un feedback su quanto funziona bene con Dialogflow.
- I contenuti con testo denso funzionano meglio. Evita contenuti con molti paragrafi composti da una sola frase.
- Tabelle ed elenchi non sono supportati.
- Il numero di paragrafi in un documento non deve superare 2000.
- Se un articolo è lungo (> 1000 parole), prova a suddividerlo in più articoli più brevi. Se l'articolo tratta più problemi, può essere suddiviso in articoli più brevi che trattano i singoli problemi. Se l'articolo tratta un solo problema, concentrati sulla descrizione del problema e mantieni breve la risoluzione del problema.
- Idealmente, dovrebbero essere forniti solo i contenuti principali di un articolo (descrizione e risoluzione del problema). Contenuti aggiuntivi come il nome dell'autore, la cronologia delle modifiche, i link correlati e gli annunci non sono importanti.
- Cerca di includere una descrizione dei problemi che un articolo può contribuire a risolvere e/o query di esempio a cui questo articolo può rispondere.
Utilizzo di Cloud Storage
Se i tuoi contenuti non sono pubblici, l'opzione consigliata è archiviarli in Cloud Storage. Quando crei documenti della knowledge base, fornisci gli URL degli oggetti Cloud Storage.
Creazione di bucket e oggetti Cloud Storage
Quando crei il bucket Cloud Storage:
- Assicurati di aver selezionato il progetto Google Cloud che utilizzi per Dialogflow.
- Assicurati che l'account utente o l'account di servizio che utilizzi normalmente per accedere all'API Dialogflow disponga delle autorizzazioni di lettura per gli oggetti bucket.
- Utilizza la classe di archiviazione Standard.
- Imposta la posizione del bucket
su una posizione più vicina alla tua.
Per alcune chiamate API avrai bisogno dell'ID località (ad esempio,
us-west1
), quindi prendi nota della tua scelta.
Segui le istruzioni della guida rapida di Cloud Storage per creare un bucket e caricare i file.
Fornire un oggetto Cloud Storage a un documento della knowledge base
Per fornire i tuoi contenuti:
- Crea una knowledge base come descritto sopra.
- Crea un documento della knowledge base come
descritto sopra.
Quando chiami il metodo
create
sul tipoDocument
, imposta il campocontentUri
sull'URL del documento Cloud Storage. Il formato di questo URL ègs://bucket-name/object-name
.