haive.core.engine.retriever.providers.AmazonKnowledgeBasesRetrieverConfig¶
Amazon Knowledge Bases Retriever implementation for the Haive framework.
from typing import Any This module provides a configuration class for the Amazon Knowledge Bases retriever, which uses AWS Bedrock Knowledge Bases for retrieval-augmented generation (RAG). Knowledge Bases provides a fully managed service that enables RAG workflows using foundation models with your data sources.
The AmazonKnowledgeBasesRetriever works by: 1. Connecting to an Amazon Bedrock Knowledge Base 2. Performing semantic search using embeddings 3. Retrieving relevant document chunks with metadata 4. Supporting various data sources (S3, web crawling, etc.)
This retriever is particularly useful when: - Building RAG applications with AWS Bedrock - Need managed vector storage and retrieval - Working with diverse data sources - Want serverless RAG infrastructure - Building enterprise AI applications on AWS
The implementation integrates with LangChain’s AmazonKnowledgeBasesRetriever while providing a consistent Haive configuration interface with secure AWS credential management.
Classes¶
Configuration for Amazon Knowledge Bases retriever in the Haive framework. |
Module Contents¶
- class haive.core.engine.retriever.providers.AmazonKnowledgeBasesRetrieverConfig.AmazonKnowledgeBasesRetrieverConfig[source]¶
Bases:
haive.core.common.mixins.secure_config.SecureConfigMixin,haive.core.engine.retriever.retriever.BaseRetrieverConfigConfiguration for Amazon Knowledge Bases retriever in the Haive framework.
This retriever uses AWS Bedrock Knowledge Bases to provide managed RAG capabilities with semantic search and various data source integrations.
- retriever_type¶
The type of retriever (always AMAZON_KNOWLEDGE_BASES).
- Type:
- api_key¶
AWS access key (auto-resolved from AWS_ACCESS_KEY_ID).
- Type:
Optional[SecretStr]
- secret_key¶
AWS secret key (auto-resolved from AWS_SECRET_ACCESS_KEY).
- Type:
Optional[SecretStr]
Examples
>>> from haive.core.engine.retriever import AmazonKnowledgeBasesRetrieverConfig >>> >>> # Create the Knowledge Bases retriever config >>> config = AmazonKnowledgeBasesRetrieverConfig( ... name="kb_retriever", ... knowledge_base_id="ABCDEFGHIJ", ... region_name="us-east-1", ... number_of_results=10, ... search_type="SEMANTIC" ... ) >>> >>> # Instantiate and use the retriever >>> retriever = config.instantiate() >>> docs = retriever.get_relevant_documents("machine learning best practices") >>> >>> # Example with hybrid search >>> hybrid_config = AmazonKnowledgeBasesRetrieverConfig( ... name="hybrid_kb_retriever", ... knowledge_base_id="ABCDEFGHIJ", ... region_name="us-east-1", ... search_type="HYBRID" ... )
- instantiate()[source]¶
Create an Amazon Knowledge Bases retriever from this configuration.
- Returns:
Instantiated retriever ready for RAG.
- Return type:
AmazonKnowledgeBasesRetriever
- Raises:
ImportError – If required packages are not available.
ValueError – If AWS credentials or configuration is invalid.