

# Augment response generation for your agent with knowledge base
<a name="agents-kb-add"></a>

Amazon Bedrock Knowledge Bases help you take advantage of Retrieval Augmented Generation (RAG), a popular technique that involves drawing information from a data store to augment the responses generated by Large Language Models (LLMs). When you set up a knowledge base with your data source and vector store, your application can query the knowledge base to return information to answer the query either with direct quotations from sources or with natural responses generated from the query results.

To use Amazon Bedrock Knowledge Bases with your Amazon Bedrock Agent, you'll have to first create a knowledge base and then associate the knowledge base with the agent. If you haven't yet created a knowledge base, see [Retrieve data and generate AI responses with Amazon Bedrock Knowledge Bases](knowledge-base.md) to learn about knowledge bases and create one. You can associate a knowledge base during [agent creation](agents-create.md) or after an agent has been created. To associate a knowledge base to an existing agent, choose the tab for your preferred method, and then follow the steps:

------
#### [ Console ]

**To add a knowledge base**

1. Sign in to the AWS Management Console with an IAM identity that has permissions to use the Amazon Bedrock console. Then, open the Amazon Bedrock console at [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Select **Agents** from the left navigation pane. Then, choose an agent in the **Agents** section.

1. Choose **Edit in Agent builder**

1. For the **Knowledge bases** section, choose **Add**.

1. Choose a knowledge base that you have created and provide instructions for how the agent should interact with it.

1. Choose **Add**. A success banner appears at the top.

1. To apply the changes that you made to the agent before testing it, choose **Prepare** before testing it.

------
#### [ API ]

To associate a knowledge base with an agent, send an [AssociateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_AssociateAgentKnowledgeBase.html) request with a [Agents for Amazon Bedrock build-time endpoint](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

The following list describes the fields in the request:
+ The following fields are required:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/bedrock/latest/userguide/agents-kb-add.html)
+ The following fields are optional:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/bedrock/latest/userguide/agents-kb-add.html)

------

You can modify the [query configurations](kb-test-config.md) of a knowledge base attached to your agent by using the `sessionState` field in the [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) request when you invoke your agent. For more information, see [Control agent session context](agents-session-state.md).