Skip to main content

Overview

AWS Bedrock provides access to multiple embedding models including Amazon Titan, Cohere, and Marengo through a unified API. Offers enterprise-grade security, guardrails, and CloudWatch integration. Provider Class: BedrockEmbedding Config Class: BedrockEmbeddingConfig

Dependencies

pip install boto3

Examples

from upsonic import Agent, Task, KnowledgeBase
from upsonic.embeddings import BedrockEmbedding, BedrockEmbeddingConfig
from upsonic.vectordb import ChromaProvider, ChromaConfig, ConnectionConfig, Mode

# Create embedding provider
embedding = BedrockEmbedding(BedrockEmbeddingConfig(
    model_name="amazon.titan-embed-text-v1",
    region_name="us-east-1"
))

# Setup KnowledgeBase
vectordb = ChromaProvider(ChromaConfig(
    collection_name="bedrock_docs",
    vector_size=1536,
    connection=ConnectionConfig(mode=Mode.IN_MEMORY)
))

kb = KnowledgeBase(
    sources=["document.txt"],
    embedding_provider=embedding,
    vectordb=vectordb
)

# Query with Agent
agent = Agent("openai/gpt-4o")
task = Task("What is this document about?", context=[kb])
result = agent.do(task)
print(result)

Parameters

ParameterTypeDescriptionDefaultSource
model_namestrBedrock embedding model name"amazon.titan-embed-text-v1"Specific
model_idstr | NoneFull Bedrock model ID (overrides model_name)NoneSpecific
aws_access_key_idstr | NoneAWS access key IDNoneSpecific
aws_secret_access_keystr | NoneAWS secret access keyNoneSpecific
aws_session_tokenstr | NoneAWS session tokenNoneSpecific
region_namestrAWS region"us-east-1"Specific
profile_namestr | NoneAWS profile nameNoneSpecific
inference_profilestr | NoneBedrock inference profileNoneSpecific
enable_guardrailsboolEnable Bedrock guardrailsTrueSpecific
guardrail_idstr | NoneCustom guardrail IDNoneSpecific
enable_model_cachingboolEnable model response cachingTrueSpecific
prefer_provisioned_throughputboolPrefer provisioned throughput modelsFalseSpecific
enable_cloudwatch_loggingboolEnable CloudWatch loggingTrueSpecific
log_group_namestr | NoneCloudWatch log group nameNoneSpecific
batch_sizeintBatch size for document embedding100Base
max_retriesintMaximum number of retries on failure3Base
normalize_embeddingsboolWhether to normalize embeddings to unit lengthTrueBase