Skip to main content

Bedrock Embedding

Supported Embedding Modelsโ€‹

ProviderLiteLLM RouteAWS Documentation
Amazon Titanbedrock/amazon.*Amazon Titan Embeddings
Coherebedrock/cohere.*Cohere Embeddings
TwelveLabsbedrock/us.twelvelabs.*TwelveLabs

API keysโ€‹

This can be set as env variables or passed as params to litellm.embedding()

import os
os.environ["AWS_ACCESS_KEY_ID"] = "" # Access key
os.environ["AWS_SECRET_ACCESS_KEY"] = "" # Secret access key
os.environ["AWS_REGION_NAME"] = "" # us-east-1, us-east-2, us-west-1, us-west-2

Usageโ€‹

LiteLLM Python SDKโ€‹

from litellm import embedding
response = embedding(
model="bedrock/amazon.titan-embed-text-v1",
input=["good morning from litellm"],
)
print(response)

LiteLLM Proxy Serverโ€‹

1. Setup config.yamlโ€‹

model_list:
- model_name: titan-embed-v1
litellm_params:
model: bedrock/amazon.titan-embed-text-v1
aws_access_key_id: os.environ/AWS_ACCESS_KEY_ID
aws_secret_access_key: os.environ/AWS_SECRET_ACCESS_KEY
aws_region_name: us-east-1
- model_name: titan-embed-v2
litellm_params:
model: bedrock/amazon.titan-embed-text-v2:0
aws_access_key_id: os.environ/AWS_ACCESS_KEY_ID
aws_secret_access_key: os.environ/AWS_SECRET_ACCESS_KEY
aws_region_name: us-east-1

2. Start Proxyโ€‹

litellm --config /path/to/config.yaml

3. Use with OpenAI Python SDKโ€‹

import openai
client = openai.OpenAI(
api_key="anything",
base_url="http://0.0.0.0:4000"
)

response = client.embeddings.create(
input=["good morning from litellm"],
model="titan-embed-v1"
)
print(response)

4. Use with LiteLLM Python SDKโ€‹

import litellm
response = litellm.embedding(
model="titan-embed-v1", # model alias from config.yaml
input=["good morning from litellm"],
api_base="http://0.0.0.0:4000",
api_key="anything"
)
print(response)

Supported AWS Bedrock Embedding Modelsโ€‹

Model NameUsageSupported Additional OpenAI params
Titan Embeddings V2embedding(model="bedrock/amazon.titan-embed-text-v2:0", input=input)here
Titan Embeddings - V1embedding(model="bedrock/amazon.titan-embed-text-v1", input=input)here
Titan Multimodal Embeddingsembedding(model="bedrock/amazon.titan-embed-image-v1", input=input)here
TwelveLabs Marengo Embed 2.7embedding(model="bedrock/us.twelvelabs.marengo-embed-2-7-v1:0", input=input)Supports multimodal input (text, video, audio, image)
Cohere Embeddings - Englishembedding(model="bedrock/cohere.embed-english-v3", input=input)here
Cohere Embeddings - Multilingualembedding(model="bedrock/cohere.embed-multilingual-v3", input=input)here

Advanced - Drop Unsupported Paramsโ€‹

Advanced - Pass model/provider-specific Paramsโ€‹