Assistenza con le conoscenze generativa

L'assistenza knowledge base generativa fornisce risposte alle domande dell'agente in base alle informazioni contenute nei documenti che fornisci. Puoi specificare il nome di dominio o caricare documenti per un agente datastore basato sul flusso o un agente datastore basato sul playbook. L'assistenza knowledge base generativa sintetizza queste informazioni con la conversazione in corso e i metadati dei clienti disponibili per fornire una risposta più pertinente e tempestiva all'agente.

Prima di iniziare

A meno che tu non sia il proprietario del progetto, hai bisogno di questi ruoli per creare un agente datastore:

- Dialogflow API Admin
- Discovery Engine Admin

Crea un agente datastore basato sul flusso

  1. Attiva l'API AI Applications nella console Vertex AI.

  2. Per creare l'agente, segui i passaggi descritti in Agenti del datastore basati sul flusso.

Crea un agente datastore basato su playbook

  1. Attiva l'API AI Applications nella console Vertex AI.

  2. Per creare l'agente, segui i passaggi descritti in Agenti di datastore basati su playbook.

  3. Per connettere l'agente a un datastore, crea uno strumento datastore. Per ulteriori informazioni, consulta Esempi di strumenti di datastore di Playbook.

Rispondere alle domande degli agenti umani

L'agente del datastore basato sul flusso o sul playbook può rispondere alle domande degli agenti umani in base ai documenti che hai fornito.

Passaggio 1: crea un profilo di conversazione

Crea un profilo di conversazione utilizzando la console Agent Assist o l'API.

Crea dalla console

  1. Devi attivare il tipo di suggerimento Assistenza knowledge base generativa e collegarlo all'agente del datastore basato sul flusso o sul playbook del passaggio precedente.
  2. (Facoltativo) Utilizza la casella di controllo Disattiva la registrazione delle query di ricerca dell'agente per indicare se vuoi che Google raccolga e memorizzi le query di ricerca oscurate per un potenziale miglioramento della qualità.
  3. Puoi utilizzare la casella di controllo Attiva query avanzata della conversazione per indicare se vuoi prendere in considerazione il contesto della conversazione tra l'agente umano e l'utente durante la generazione della risposta alla query di ricerca.

Crea da API

I seguenti passaggi illustrano come creare un ConversationProfile con un oggetto HumanAgentAssistantConfig. Puoi eseguire queste azioni anche utilizzando la console Agent Assist.

Per creare un profilo di conversazione, chiama il metodo create sulla risorsa ConversationProfile.

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
  • PROJECT_ID: il tuo ID progetto
  • LOCATION_ID: l'ID della tua località
  • AGENT_ID: l'ID agente del datastore basato sul flusso o sul playbook del passaggio precedente
Di seguito è riportato un esempio di JSON:
  {
    "displayName": "my-conversation-profile-display-name",
    "humanAgentAssistantConfig": {
      "humanAgentSuggestionConfig": {
        "featureConfigs": [
          {
            "suggestionFeature": {
              "type": "KNOWLEDGE_SEARCH"
            },
            "queryConfig": {
              "dialogflowQuerySource": {
                "humanAgentSideConfig": {
                  "agent": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID"
                }
              }
            },
            "disableAgentQueryLogging": false,
            "enableConversationAugmentedQuery": false,
          }
        ]
      }
    }
  }
      

Quando crei un profilo conversazione nella console Agent Assist, Agent Assist attiva automaticamente l'assistenza basata sull'AI generativa.

Passaggio 2: utilizza un agente del datastore

Se vuoi, utilizza l'API SearchKnowledge per ottenere le risposte dall'agente del datastore. Puoi anche utilizzare le seguenti configurazioni nell'ambito della richiesta SearchKnowledge:

  • querySource: imposta questo campo per indicare se la query è stata digitata da un agente o se è stata suggerita automaticamente dall'assistente knowledge base generativo.
  • exactSearch: imposta questo campo per indicare se eseguire la ricerca della query di input esatta senza la riscrittura della query.
  • endUserMetadata: imposta questo campo per includere ulteriori informazioni sull'utente finale che migliorano la risposta generata. Per maggiori dettagli, consulta la pagina di personalizzazione delle prestazioni dell'agente Data Store.
  • searchConfig: imposta questo campo per un controllo aggiuntivo per migliorare e filtrare i documenti della knowledge base. Per maggiori dettagli, consulta la pagina di configurazione della ricerca del rendimento dell'agente del datastore.

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • PROJECT_ID: il tuo ID progetto
  • LOCATION_ID: l'ID della tua località
  • CONVERSATION_PROFILE_ID: l'ID del profilo conversazionale del passaggio precedente
  • SESSION_ID: l'ID della sessione di ricerca
  • La cronologia delle ricerche della stessa sessione può influire sul risultato di ricerca. Puoi utilizzare il seguente ID conversazione per l'ID sessione.
  • CONVERSATION_ID: la conversazione (tra l'agente umano e l'utente finale) in cui viene attivata la richiesta di ricerca
  • MESSAGE_ID: l'ultimo messaggio della conversazione quando viene attivata la richiesta di ricerca

Ecco una richiesta JSON di esempio:

{
  "parent": "projects/PROJECT_ID/locations/LOCATION_ID"
  "query": {
    "text": "What is the return policy?"
  }
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID"
  "sessionId": "SESSION_ID
  "conversation": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID"
  "latestMessage": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID
  "querySource": AGENT_QUERY
  "exactSearch": false
  "searchConfig": {
    "filterSpecs": {
      "filter": "category: ANY(\"persona_B\")"
    }
  }
  "endUserMetadata": {
    "deviceOwned": "Google Pixel 7"
  }
}

Se vuoi, fornisci i nomi delle risorse conversation e latest_message se la ricerca dell'agente avviene durante una conversazione con un utente. Questi due campi sono obbligatori se attivi l'opzione enable_conversation_augmented_query e preferisci migliorare l'esperienza di risposta alla query con il contesto conversazionale tra l'agente e l'utente.

Simulatore

Testa l'agente del datastore basato sul flusso o sul playbook nel simulatore di Assistente agente.

Nell'esempio precedente, l'agente del datastore basato sul flusso risponde alla query dell'utente What is the refund processing time? con le seguenti informazioni:

  • Risposta generata dall'IA generativa: quando il pacco con il reso arriva al centro resi del venditore, potrebbero essere necessari fino a 7 giorni lavorativi aggiuntivi per l'elaborazione. Controlla lo stato del rimborso con il numero di tracciamento del reso riportato nella pagina degli ordini.
  • Titolo del documento di conoscenza pertinente: Resi e rimborsi.

Invia feedback

Per la procedura di invio del feedback, vedi Inviare feedback ad Agent Assist.

Rispondere alle domande dell'agente

Di seguito è riportato un esempio di richiesta JSON per l'invio di feedback sulle risposte alle domande dell'agente.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/answerRecords/ANSWER_RECORD_ID",
  "answerFeedback": {
    "displayed": true
    "clicked": true
    "correctnessLevel": "FULLY_CORRECT"
    "agentAssistantDetailFeedback": {
      "knowledgeSearchFeedback": {
        "answerCopied": true
        "clickedUris": [
          "url_1",
          "url_2",
          "url_3",
        ]
      }
    }
  }
}

Metadati

Se configuri i metadati per un documento della knowledge base, sia l'assistenza knowledge base generativa sia l'assistenza knowledge base generativa proattiva restituiranno i metadati del documento insieme alla risposta.

Ad esempio, puoi utilizzare i metadati per indicare se l'articolo della knowledge base è un articolo privato interno o un articolo pubblico esterno. Sia nel simulatore di Agent Assist che nei moduli UI, sia l'assistenza knowledge base generativa che l'assistenza knowledge base generativa proattiva mostrano automaticamente un valore dei metadati del documento per determinate chiavi.

  • gka_source_label: il valore viene visualizzato direttamente nella scheda dei suggerimenti.
  • gka_source_tooltip: quando il valore è di tipo struct, se passi il cursore sopra il link di origine, il valore si espande e viene visualizzato in una descrizione comando.

Se hai i seguenti metadati per un documento della knowledge base, la scheda dei suggerimenti elenca l'origine come External Doc e la descrizione comando aggiunge doc_visibility: public doc.

Metadati: None { "title": "Public Sample Doc", "gka_source_label": "External Doc", "gka_source_tooltip": { "doc_visibility": "public doc" } }

Metadati utente finale

Allega i metadati dell'utente finale per migliorare e personalizzare la risposta generata dall'agente Datastore. Per l'assistenza knowledge base generativa, puoi allegare i metadati dell'utente finale al campo end_user_metadata o acquisirli in una conversazione con l'API IngestContextReferences. Puoi utilizzare i metadati degli utenti finali acquisiti sia per l'assistenza knowledge base generativa sia per l'assistenza knowledge base generativa proattiva.

Esempio 1: allega i metadati dell'utente finale

{
  "query": {
     "text": "test query"
  },
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
  "sessionId": "SESSION_ID",
  "conversation": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID",
  "querySource": "AGENT_QUERY",
  "endUserMetadata": {
    "Name": "Jack",
    "Age": 33,
    "City": "Tokyo"
  }
}

Esempio 2: inserisci i metadati dell'utente finale

{
  "conversation": "projects/PROJECT_ID/locations/global/conversations/CONVERSATION_ID",
  "contextReferences": {
   "gka_end_user_metadata": {
      "contextContents": [{
"content": "{\"Name\":\"Jack\",\"Age\":33,\"city\":\"Tokyo\"}",
        "contentFormat": "JSON"
      }],
      "updateMode": "OVERWRITE",
      "languageCode": "en-US"
    }
  }
}

Per maggiori dettagli sui metadati dell'utente finale in Datastore, consulta le informazioni sulla personalizzazione di Dialogflow.

Supporto dei linguaggi

Consulta l'elenco completo delle lingue supportate.