Generative Knowledge Assist

The generative knowledge assist can answer questions from your human agents based on the documents you provided. You can specify your domain name or upload any number of documents, and Vertex AI Search and Conversation indexes them. This information is made available to your generative knowledge assist feature to access in real time.

Difference between generative knowledge assist and Dialogflow

Agent Assist also includes a query rewrite function. Query rewrite utilizes a conversation and user metadata as context to generate a concise summary of the user's request. That summary can then be accessed by generative knowledge assist to provide information needed to help the agent resolve the user's request. The query rewrite function provides additional context to a user-agent conversation that is not available directly from Dialogflow. Further, query rewrite allows generative knowledge assist to provide more precise targeted information to the customer service agent.

Create a data store agent

Follow Vertex AI Search and Conversation 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 Search and Conversation 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)