barrel_embed_bedrock (barrel_embed v2.3.0)
View SourceAWS Bedrock embedding provider
Uses AWS Bedrock's embedding API for embedding generation. Provides access to Titan and Cohere embedding models on AWS.
Requirements
AWS credentials, either via API key (ABSK format) or IAM credentials.
Option 1: API Key (Recommended)
Uses AWS Bedrock API Key (ABSK format, available since July 2025): - Set BEDROCK_API_KEY environment variable - Or pass api_key => <<"ABSK...">>> in config
Option 2: IAM Credentials
- Set AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and optionally AWS_SESSION_TOKEN environment variables - Or pass access_key_id, secret_access_key in config
Configuration
%% Using API key (simpler)
Config = #{
api_key => <<"ABSK...">>, %% API key (or use env var)
region => <<"us-east-1">>, %% AWS region (default)
model => <<"amazon.titan-embed-text-v2:0">>, %% Model ID (default)
timeout => 30000, %% Timeout in ms (default)
dimension => 1024 %% Vector dimension (default)
}.
%% Using IAM credentials (requires SigV4 signing)
Config = #{
access_key_id => <<"AKIA...">>,
secret_access_key => <<"...">>,
session_token => <<"...">>, %% Optional, for temporary credentials
region => <<"us-east-1">>,
model => <<"amazon.titan-embed-text-v2:0">>
}.Supported Models
- <<"amazon.titan-embed-text-v2:0">> - Default, 1024 dims - <<"amazon.titan-embed-text-v1">> - 1536 dims, legacy - <<"cohere.embed-english-v3">> - 1024 dims, Cohere on Bedrock - <<"cohere.embed-multilingual-v3">> - 1024 dims, multilingual
Summary
Functions
Check if Bedrock API is available.
Get dimension for this provider.
Generate embedding for a single text.
Generate embeddings for multiple texts. Bedrock doesn't support native batch, so we process sequentially.
Initialize the provider.
Provider name.
Functions
Check if Bedrock API is available.
-spec dimension(map()) -> pos_integer().
Get dimension for this provider.
Generate embedding for a single text.
Generate embeddings for multiple texts. Bedrock doesn't support native batch, so we process sequentially.
Initialize the provider.
-spec name() -> atom().
Provider name.