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ΒΆ

AmazonKnowledgeBasesRetrieverConfig

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.BaseRetrieverConfig

Configuration 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:

RetrieverType

knowledge_base_idΒΆ

Amazon Knowledge Base ID.

Type:

str

region_nameΒΆ

AWS region name.

Type:

str

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]

number_of_resultsΒΆ

Number of results to retrieve.

Type:

int

search_typeΒΆ

Type of search to perform.

Type:

str

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"
... )
get_input_fields()[source]ΒΆ

Return input field definitions for Amazon Knowledge Bases retriever.

Return type:

dict[str, tuple[type, Any]]

get_output_fields()[source]ΒΆ

Return output field definitions for Amazon Knowledge Bases retriever.

Return type:

dict[str, tuple[type, Any]]

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.