How to connect with AWS Bedrock Knowledge Base?
Last updated
Last updated
This article will briefly introduce how to connect the Dify platform with the AWS Bedrock knowledge base through the external knowledge base API, so that AI applications in the Dify platform can directly obtain content stored in the AWS Bedrock knowledge base and expand new information source channels.
AWS Bedrock Knowledge Base
Dify SaaS Service / Dify Community Version
Backend API Development Basics
Visit AWS Bedrock and create the Knowledge Base service.
The Dify platform cannot directly connect to AWS Bedrock Knowledge Base. The developer needs to refer to Dify's API definition on external knowledge base connection, manually create the backend API service, and establish a connection with AWS Bedrock. Please refer to the specific architecture diagram:
You can refer to the following 2 demo code.
knowledge.py
knowledge_service.py
During the process, you can construct the API endpoint address and the API Key for authentication and use them for the next connections.
After log in to the AWS Bedrock Knowledge backend and get the ID of the created Knowledge Base, you can use this parameter to connect to the Dify platform in the subsequent steps.
Go to the "Knowledge" page in the Dify platform, click "External Knowledge API" in the upper right corner, and tap "Add an External Knowledge API".
Follow the prompts on the page and fill in the following information:
The name of the knowledge base. Custom names are allowed to distinguish different external knowledge APIs connected to the Dify platform;
API endpoint address, the connection address of the external knowledge base, which can be customized in Step 2. Example: api-endpoint/retrieval
;
API Key, the external knowledge base connection key, which can be customized in Step 2.
Go to the “Knowledge page, click “Connect to an External Knowledge Base” below the add knowledge base card to jump to the parameter configuration page.
Fill in the following parameters:
Knowledge base name and description
External knowledge base API
Select the external knowledge base API associated in Step 4.
External knowledge base ID
Fill in the AWS Bedrock knowledge base ID obtained in Step 3.
Adjust recall settings
Top K: When a user asks a question, the external knowledge API will be requested to obtain the most relevant content chunks. This parameter is used to filter text chunks with high similarity to user questions. The default value is 3. The higher the value, the more relevant text chunks will be recalled.
Score threshold: The similarity threshold for text chunk filtering. Only text chunks with a score exceeding the set score will be recalled. The default value is 0.5. The higher the value, the higher the similarity required between the text and the question, the smaller the number of texts expected to be recalled, and the more accurate the result will be.
After the settings are completed, you can establish a connection with the external knowledge base API.
After establishing a connection with an external knowledge base, developers can simulate possible user's question keywords in "Retrieval Test" and preview the text chunks retrieval from the AWS Bedrock Knowledge Base.
If you are not satisfied with the retrieval results, you can try to modify the retrieval parameters or adjust the retrieval settings of AWS Bedrock Knowledge Base.