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:
If you are not the project owner, you must have the following roles to create a data store agent:
- Dialogflow Admin
- Discovery Engine Admin
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...
You must enable the
generative knowledge assist
suggestion type and link it to the data store 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.
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)