Generative knowledge assist

Generative knowledge assist provides answers to your agent's questions based on information in documents you provide. You can specify your domain name or upload documents for Vertex AI Agent Builder to index into a data store agent. Generative knowledge assist synthesizes that information with the ongoing conversation and available customer metadata to give a more relevant and timely answer to your agent.

Create a data store agent

Follow Vertex AI Agent Builder guidance to understand and create a data store agent.

Prerequisites

Before you can create a data store agent, there are the following requirements:

  1. If you are not the project owner, you must have the following roles to create a data store agent:

    • Dialogflow Admin
    • Discovery Engine Admin
  2. You must activate the Vertex AI Agent Builder API in the Vertex console.

Create a conversation profile

Create from Agent Assist console: To create a conversation profile using the Agent Assist console...

  1. You must enable the generative knowledge assist suggestion type and link it to the data store agent from the previous step.

  2. You can use the Disable agent search query logging checkbox to indicate whether you would like Google to collect and store redacted search queries for potential quality improvement.

  3. You can use the Enable conversation augmented query checkbox to indicate whether you would like to take the conversation context between the human agent and the user into consideration when generating the answer for the search query.

Create from API: The following steps illustrate how to create a ConversationProfile with a HumanAgentAssistantConfig object. You can also perform these actions using the Agent Assist console.

To create a conversation profile, call the create method on the ConversationProfile resource.

Before using any of the request data, make the following replacements:

  • PROJECT_ID: your project ID
  • LOCATION_ID: the ID for your location
  • AGENT_ID: your data store agent ID from the previous step

The following is a JSON example:

{
  "displayName": "my-conversation-profile-display-name",
  "humanAgentAssistantConfig": {
    "humanAgentSuggestionConfig": {
      "featureConfigs": [
        {
          "suggestionFeature": {
            "type": "KNOWLEDGE_SEARCH"
          },
          "queryConfig": {
            "dialogflowQuerySource": {
              "agent": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID"
              "humanAgentSideConfig": {
                "agent": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID"
              }
            }
          },
          "disableAgentQueryLogging": false,
          "enableConversationAugmentedQuery": false,
        }
      ]
    }
  }
}

Use a data store agent

You can use the SearchKnowledge API to get the answers from the data store agent.

Before using any of the request data, make the following replacements:

  • PROJECT_ID: your project ID
  • LOCATION_ID: the ID for your location
  • CONVERSATION_PROFILE_ID: your conversation profile ID from the previous step
  • SESSION_ID: your search session ID (The search history of the same session can impact the search result.)

Here is an example JSON request:

{
  "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"
}

Optionally, provide conversation and latest_message resource names if the agent's search happens during a conversation with a user. These two fields are required if you enable the enable_conversation_augmented_query option and prefer enhancing the query answer experience with the conversational context between your human agent and the user.

Simulator

You can test your data store agent in the Agent Assist simulator.

In the preceding example, the data store agent answers the user query What is the refund processing time? with the following information:

  • Gen AI generated answer: When the package with your return arrives at the seller's return center, it may take up to 7 additional business days to process. Check the status of your refund with the return tracking number found on your orders page.
  • The title of the relevant knowledge document: Returns & refunds.

Send feedback

You can use the answer record to call the UpdateAnswerRecord method to send AnswerFeedback to indicate two feedback events:

  • displayed: Whether the answer is displayed to the human agent.

  • answer_copied: Whether the answer is copied by the human agent.

  • clicked_uris: The URIs clicked by the human agent.

For more details, go to Send feedback to Agent Assist.

Here is an example JSON request:

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

Language support

This feature supports the following languages:

  • Danish (da)
  • Dutch (nl)
  • English (en)
  • French (fr)
  • German (de)
  • Hindi (hi)
  • Italian (it)
  • Portuguese: Brazil (pt-BR)
  • Spanish (es)
  • Swedish (sv)