Miglioramenti alle prestazioni del datastore

Questa guida fornisce consigli per monitorare e migliorare il rendimento degli handler dei datastore.

Monitorare il rendimento dell'agente

Puoi monitorare la cronologia delle conversazioni e utilizzare lo strumento di analisi per le statistiche degli agenti.

Esegui la valutazione self-service

Puoi eseguire una valutazione self-service che valuta la qualità dell'agente datastore e consiglia le modifiche.

Migliorare le risposte degli agenti

Se durante i test alcune risposte non soddisfano le tue aspettative, prova a procedere nel seguente modo.

Ottimizzazione degli strumenti di datastore utilizzati dai Playbook

Questa impostazione accelera la risposta della RAG di un datastore e migliora la latenza non riscrivendo la query dell'utente né compilando dinamicamente i parametri dello strumento. Ciò significa che la query dell'utente viene passata al data store così com'è e non vengono compilati filtri o parametri relativi ai metadati utente.

Puoi attivare questa funzionalità nella console Dialogflow CX selezionando il playbook e facendo clic sulla scheda Impostazioni. Puoi configurare il playbook in modo da continuare a elaborare immediatamente eventuali azioni di follow-up o attendere l'input successivo dell'utente finale.

Se abilitato, le seguenti istruzioni del playbook vengono comunque rispettate:

  • Quando rispondere alla query dell'utente utilizzando gli datastore.
  • Quando non rispondere alla query dell'utente utilizzando gli datastore e fornire invece una risposta alternativa.
  • Eventuali istruzioni difensive, ad esempio "non rispondere alle domande sui concorrenti".

Se questa opzione è attiva, le seguenti istruzioni del playbook vengono ignorate. Non attiva questa impostazione se hai uno dei seguenti requisiti di query:

  • Filtri datastore specifici da compilare seguendo le istruzioni.
  • Istruzioni per applicare eventuali metadati di personalizzazione dell'utente trasmessi dai filtri.
  • Eventuali altre istruzioni per riscrivere la query dell'utente prima di eseguire una query sul data store.

Gestire le digressioni nella conversazione

Un utente finale potrebbe porre domande per chiarire durante una conversazione. Ad esempio, durante la raccolta dei dati della carta di credito, il cliente potrebbe voler chiarire che cos'è un codice CVV. In questo caso, l'agente deve rispondere alla domanda e tornare a raccogliere i dati necessari della carta di credito. Per farlo, puoi creare un gestore del datastore con datastore che rispondono alla domanda, applicare questo gestore alla pagina di inizio del flusso che gestisce la raccolta dei dati della carta di credito, e impostare un target di transizione per questo gestore in modo da tornare alla "pagina corrente".

Gestire le corrispondenze di intenti indesiderate

Se l'agente abbina gli intent quando dovrebbe utilizzare un gestore del datastore, puoi provare a procedere nel seguente modo per correggere il problema:

  • Elimina o modifica le frasi di addestramento vaghe, in modo che tutte le frasi di addestramento gestiscano con precisione l'intenzione desiderata e non entrino in conflitto con i contenuti del tuo datastore.
  • Utilizza esempi negativi per evitare la corrispondenza dell'intento.

Filtro dei datastore

In alcuni casi, potresti volere che solo determinati datastore siano disponibili per le query, a seconda dei valori dei parametri di sessione. Ad esempio, potresti avere data store univoci per le categorie di prodotti. Per filtrare il datastore per le categorie di prodotti:

  • Imposta i parametri della sessione sulle categorie di prodotto.
  • Crea percorsi con condizioni che controllano i valori dei parametri di sessione e passano a una pagina specifica con il gestore dell'datastore desiderato.
  • L'handler dell'datastore dovrebbe tornare alla pagina di chiamata, in modo che la conversazione possa continuare.

Personalizzazione

Per rendere le risposte generative più pertinenti per gli utenti finali, puoi fornire agli agenti conversazionali (Dialogflow CX) informazioni sugli utenti.

Queste informazioni vengono fornite in formato JSON. Non è previsto uno schema, quindi puoi definire liberamente le proprietà dell'oggetto. Questo JSON viene inviato al modello linguistico di grandi dimensioni così com'è, quindi i nomi e i valori delle proprietà descrittivi generano i risultati migliori.

Ad esempio:

{
  "subscription plan": "Business Premium Plus",
  "devices owned": [
    {"model": "Google Pixel 7"},
    {"model": "Google Pixel Tablet"}
  ]
}

Personalizzazione con l'API

Puoi fornire questi dati a Conversational Agents (Dialogflow CX) quando invii richieste di rilevamento dell'intenzione. Queste informazioni devono essere fornite in ogni richiesta di rilevamento dell'intenzione, perché non sono persistenti nella sessione.

Fornisci queste informazioni nel campo queryParams.endUserMetadata del metodo Sessions.detectIntent.

Seleziona un protocollo e una versione per il riferimento sessione:

Protocollo V3 V3beta1
REST Risorsa sessione Risorsa sessione
RPC Interfaccia di sessione Interfaccia di sessione
C++ SessionsClient Non disponibile
C# SessionsClient Non disponibile
Vai SessionsClient Non disponibile
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP Non disponibile Non disponibile
Python SessionsClient SessionsClient
Ruby Non disponibile Non disponibile

Personalizzazione con Dialogflow CX Messenger

Puoi fornire questi dati all'integrazione di Messenger di Dialogflow CX. Consulta il metodo setContext.

Configurazione della ricerca

Per avere un maggiore controllo sul comportamento dell'agente e migliorare la qualità delle risposte, sono esposte le configurazioni di ricerca per l'incremento, l'esclusione e il filtro dei documenti.

I controlli di miglioramento ti consentono di modificare il ranking dei risultati di ricerca applicando un valore di miglioramento (maggiore di zero per un ranking più elevato, minore di zero per un ranking più basso) a documenti specifici.

I controlli dei filtri ti consentono di mantenere o rimuovere i risultati di ricerca in base ai criteri di filtro specificati.

Queste informazioni vengono fornite in formato JSON alle richieste di Conversational Agents (Dialogflow CX). Il formato del JSON dipende dal tipo di controllo di ricerca.

Controllo boost

La seguente configurazione di ricerca descrive un controllo dell'incremento:

"searchConfig": {
  "boostSpecs": [
    {
      "dataStores": [ "DATASTORE_ID" ],
      "spec": [
        {
          "conditionBoostSpecs": {
            "condition": "CONDITION",
            "boost": "1.0"
          }
        }
      ]
    }
  ]
}

Controllo filtro

La seguente configurazione di ricerca descrive un controllo filtro:

"searchConfig": {
  "filterSpecs": [
    {
      "dataStores": [ "DATASTORE_ID" ],
      "filter": "CONDITION"
    }
  ]
}

Configura la ricerca con l'API

Puoi fornire questi dati a Conversational Agents (Dialogflow CX) quando invii richieste di rilevamento dell'intenzione. Queste informazioni devono essere fornite in ogni richiesta di rilevamento dell'intenzione, perché non sono persistenti nella sessione.

Fornisci queste informazioni nel campo queryParams.searchConfig del metodo Sessions.detectIntent.

Seleziona un protocollo e una versione per il riferimento sessione:

Protocollo V3 V3beta1
REST Risorsa sessione Risorsa sessione
RPC Interfaccia di sessione Interfaccia di sessione
C++ SessionsClient Non disponibile
C# SessionsClient Non disponibile
Vai SessionsClient Non disponibile
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP Non disponibile Non disponibile
Python SessionsClient SessionsClient
Ruby Non disponibile Non disponibile

Configurare la ricerca con Dialogflow CX Messenger

Puoi fornire questi dati all'integrazione di Messenger di Dialogflow CX.

Per applicare un controllo di ricerca, è necessario aggiungere il seguente snippet al codice di Messenger quando lo incorpori in un sito web:

<script>
  document.addEventListener('df-messenger-loaded', () => {
    const dfMessenger = document.querySelector('df-messenger');
    const searchConfig = { ... }
    dfMessenger.setQueryParameters(searchConfig);
  });
</script>

Consulta il metodo setQueryParameters.