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 Generative AI App Builder indexes them. This information is made available to your Generative Knowledge Assist feature to access in real time.

Create a Generative AI agent

Follow Generative AI App Builder guidance to understand and create a Generative AI agent.

Create a conversation profile

Create from console

We recommend creating a conversation profile using the Agent Assist console. You need to enable the Generative knowledge assist suggestion type and link it to the Generative AI agent from the previous step.

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.

Create from API

The following steps 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 Generative AI 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,
        }
      ]
    }
  }
}

Use a Generative AI agent

You can use SearchKnowledge API to get the answers from the Generative AI 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.

Simulator

You can test your Generative AI agent in the Agent Assist simulator.

In the example above, the Generative AI 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 currently 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)