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 i documenti per un agente del datastore basato sul flusso o un agente del datastore basato su 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 del datastore:

- Dialogflow API Admin
- Discovery Engine Admin

Crea un agente del 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 del 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 del datastore basati su playbook.

  3. Per collegare l'agente a un datastore, crea uno strumento del datastore. Per ulteriori informazioni, consulta gli esempi di strumenti del datastore basati su playbook.

Rispondi alle domande degli agenti umani

L'agente del datastore basato sul flusso o su 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 abilitare il tipo di suggerimento di assistenza knowledge base generativa e collegarlo all'agente del datastore basato sul flusso o su 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 la query aumentata 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 dall'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 dell'agente del datastore basato sul flusso o su playbook del passaggio precedente
Di seguito è riportato un esempio 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 di conversazione nella console Agent Assist, Agent Assist attiva automaticamente l'assistenza knowledge base generativa.

Passaggio 2: utilizza un agente del datastore

(Facoltativo) Utilizza l' SearchKnowledge API per ottenere le risposte dall'agente del datastore. Puoi anche utilizzare le seguenti configurazioni come parte della richiesta SearchKnowledge:

  • querySource: imposta questo campo per indicare se una query è stata digitata da un agente o se è stata suggerita automaticamente dall'assistenza knowledge base generativa.
  • exactSearch: imposta questo campo per indicare se eseguire la ricerca della query di input esatta senza riscrivere la query.
  • endUserMetadata: imposta questo campo per includere informazioni aggiuntive sull'utente finale che migliorano la risposta generata. Per maggiori dettagli, consulta la pagina Personalizzazione del rendimento dell'agente del datastore.
  • searchConfig: imposta questo campo per un controllo aggiuntivo per promuovere e filtrare i documenti della knowledge base. Per maggiori dettagli, consulta la pagina 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 di conversazione 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"
  }
}

(Facoltativo) 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 abiliti 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 su playbook nel simulatore Agent Assist.

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'AI 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 che trovi nella pagina degli ordini.
  • Titolo del documento della knowledge base pertinente: Resi e rimborsi.

Invia feedback

Per i passaggi per inviare feedback, vai a Inviare feedback ad Agent Assist.

Rispondi alle domande dell'agente

Di seguito è riportato un esempio di richiesta JSON per l'invio di feedback sulla risposta 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 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 il documento della knowledge base è un articolo privato interno o un articolo pubblico esterno. Nei moduli del simulatore Agent Assist e dell'interfaccia utente, sia l'assistenza knowledge base generativa sia 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 un tooltip.

Se hai i seguenti metadati per un documento della knowledge base, la scheda dei suggerimenti elenca l'origine come External Doc e il tooltip 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 del datastore. Per l'assistenza knowledge base generativa, puoi allegare i metadati dell'utente finale al campo end_user_metadata o inserirli in una conversazione con l'API IngestContextReferences. Puoi utilizzare i metadati dell'utente finale inseriti 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 nel datastore, consulta le informazioni sulla personalizzazione di Dialogflow.

Supporto dei linguaggi

Consulta l'elenco completo delle lingue supportate.