Una knowledge base rappresenta una raccolta di documentazione informativa che fornisci a Dialogflow. I documenti informativi contengono informazioni che possono essere utili durante le conversazioni con gli utenti finali. Alcune funzionalità di Dialogflow utilizzano le knowledge base per cercare 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, effettua le seguenti operazioni:
- Leggi le nozioni di base di Dialogflow.
- Esegui la procedura di configurazione.
Creazione di una knowledge base
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 creare una knowledge base.
Per utilizzare l'API, chiama il metodo create
nel tipo KnowledgeBase
.
UI web
Utilizza la console di Dialogflow per creare una knowledge base:- Vai alla console Dialogflow ES.
- Select an agent
- Fai clic su Conoscenza nel menu della barra laterale di 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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- KNOWLEDGE_BASE_DISPLAY_NAME: nome della knowledge base desiderato
Metodo HTTP e URL:
POST https://dialogflow.googleapis.com/v2beta1/projects/PROJECT_ID/knowledgeBases
Corpo JSON 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 tua nuova knowledge base.
Il segmento di percorso dopo knowledgeBases
sarà il tuo nuovo ID della knowledge base.
Salva questo ID per le richieste seguenti.
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.
Aggiungere un documento alla knowledge base
La tua nuova knowledge base al momento non ha documenti, quindi devi aggiungervi un documento. 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 di Dialogflow, l'API REST (inclusa la riga di comando) o le librerie client per creare un documento informativo.
Per utilizzare l'API, chiama il metodo create
nel tipo Document
.
UI web
Utilizza la console di Dialogflow per creare un documento informativo:- Se non stai continuando con i passaggi precedenti,
vai alle impostazioni della knowledge base:
- Vai alla console Dialogflow ES.
- Select an agent
- Fai clic su Conoscenza nel menu della barra laterale di sinistra
- Fai clic sul nome della tua knowledge base
- Fai clic su Nuovo documento o Crea il primo.
- Inserisci un nome per il documento
- Seleziona text/html per Tipo MIME
- Seleziona le Domande frequenti per il 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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- KNOWLEDGE_BASE_ID: l'ID della tua knowledge base restituito dalla richiesta precedente
- DOCUMENT_DISPLAY_NAME: nome del documento informativo desiderato
Metodo HTTP e URL:
POST https://dialogflow.googleapis.com/v2beta1/projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents
Corpo JSON 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 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.
La creazione di un documento è un'operazione a lunga esecuzione, quindi potrebbe richiedere molto tempo. Puoi eseguire il polling dello stato di questa operazione per verificare se è stata completata. Una volta completata, l'operazione conterrà l'ID documento appena creato. Salva questo ID per elaborazioni future. Per ulteriori informazioni, consulta Operazioni a lunga esecuzione.
Gestisci i documenti informativi
Aggiorna i contenuti del documento informativo
Se aggiorni i contenuti a cui fa riferimento un documento informativo, quest'ultimo potrebbe non aggiornarsi automaticamente. I contenuti vengono aggiornati automaticamente solo se sono stati forniti come URL pubblico e se hai selezionato l'opzione Abilita ricaricamento automatico per il documento.
Per aggiornare manualmente Cloud Storage o i contenuti dei documenti con URL pubblico, chiama il metodo reload
nel tipo Document
.
Per aggiornare manualmente i contenuti non elaborati caricati,
utilizza i metodi delete
e create
nel tipo
Document
per ricreare il documento.
Elenca documenti informativi
Puoi elencare tutti i documenti informativi per la tua knowledge base.
Per utilizzare l'API, chiama il metodo list
nel tipo Document
.
Elimina i documenti informativi
Puoi eliminare i documenti informativi per la tua knowledge base.
Per utilizzare l'API, chiama il metodo delete
nel tipo Document
.
Se non disponi dell'ID,
puoi elencare i documenti come descritto sopra.
Contenuti supportati
Sono supportati i seguenti tipi di documenti informativi:
- Domande frequenti: i contenuti del documento includono coppie di domanda e risposta in formato HTML o CSV. I tipici formati HTML delle domande frequenti vengono analizzati in modo accurato, ma quelli insoliti potrebbero non essere analizzati. Il file CSV deve contenere domande nella prima colonna e risposte nella seconda, senza intestazione. Grazie a questo formato esplicito, vengono sempre analizzati in modo preciso.
- QA estrattivo: documenti per i quali il testo non strutturato viene estratto e utilizzato per rispondere alle domande.
La tabella seguente mostra i tipi MIME supportati per Tipo di conoscenza e Origine.
Tipo di conoscenza \ Origine | 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 | testo/csv | testo/csv | testo/csv | text/html |
QA estrattivo | testo/normale, testo/html | text/plain, text/html, application/pdf | text/plain, text/html, application/pdf | N/A |
I contenuti del documento presentano i problemi noti, le limitazioni e le best practice riportati di seguito:
Informazioni generali:
- I file degli URL pubblici devono essere stati sottoposti a scansione dall'indicizzatore della Ricerca Google affinché siano disponibili nell'indice di ricerca. Puoi verificarlo con Google Search Console. Tieni presente che l'indicizzatore non mantiene i tuoi contenuti aggiornati. Devi aggiornare esplicitamente il documento informativo quando i contenuti di origine cambiano.
- I file CSV devono utilizzare le virgole come delimitatori.
- I punteggi di affidabilità non sono ancora calibrati tra le domande frequenti e gli articoli della knowledge base, pertanto se utilizzi sia le domande frequenti sia gli articoli della knowledge base, il risultato migliore potrebbe non essere sempre il più alto.
- Dialogflow rimuove i tag HTML dai contenuti durante la creazione delle risposte. Per questo motivo, è preferibile evitare tag HTML e utilizzare testo normale, quando possibile.
- Le risposte dell'Assistente Google hanno un limite di 640 caratteri per fumetto della chat, quindi le risposte lunghe vengono troncate durante l'integrazione 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 ha accesso il tuo account utente o l'account di servizio.
Specifico per le domande frequenti:
- Il file CSV deve contenere domande nella prima colonna e risposte nella seconda, senza intestazione.
- Se possibile, utilizza CSV perché viene analizzato in modo più accurato.
- I contenuti HTML pubblici con una singola coppia di QA non sono supportati.
- Il numero di coppie di QA in un documento non deve essere maggiore di 2000.
- Le domande duplicate con risposte diverse non sono supportate.
- Puoi utilizzare qualsiasi documento di domande frequenti. L'analizzatore sintattico è in grado di gestire la maggior parte dei relativi formati.
Specifico per il QA estrattivo:
- Il QA estrattivo è attualmente sperimentale. Si basa su tecnologie simili sperimentate e testate da Google in prodotti come Ricerca e Assistente. Inviaci il tuo feedback su come funziona per Dialogflow.
- I contenuti con testo denso funzionano meglio. Evita i contenuti con molti paragrafi composti da una sola frase.
- Tabelle ed elenchi non sono supportati.
- Il numero di paragrafi di un documento non deve essere superiore a 2000.
- Se un articolo è lungo (> 1000 parole), prova a suddividerlo in più articoli più piccoli. Se l'articolo riguarda più problemi, può essere suddiviso in articoli più brevi riguardanti i singoli problemi. Se l'articolo riguarda un solo problema, focalizza l'articolo sulla descrizione del problema e scegli una risoluzione del problema breve.
- Idealmente, dovrebbero essere forniti solo i contenuti principali di un articolo (descrizione e risoluzione del problema). I contenuti aggiuntivi come il nome dell'autore, la cronologia delle modifiche, i link correlati e gli annunci non sono importanti.
- Prova a includere una descrizione dei problemi per i quali un articolo può esserti utile e/o query di esempio a cui questo articolo può rispondere.
Utilizzo di Cloud Storage
Se i contenuti non sono pubblici, l'opzione consigliata è archiviarli in Cloud Storage. Quando crei documenti informativi, fornisci gli URL per gli 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 località del bucket su una località più vicina alla tua.
Ti servirà l'ID località (ad esempio
us-west1
) per alcune chiamate API, quindi prendi nota della tua scelta.
Segui le istruzioni della guida rapida di Cloud Storage per creare un bucket e caricare i file.
Fornitura di 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 informativo 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
.