Model reference · open weights

Titan-text-embeddings

Available as managed deployment Licence fee Embeddings amazon Embeddings 1 variants 518 dl/mo

Titan-text-embeddings is an open-weight embedding model from amazon. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.

Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.

What it is

Released byamazon
TypeEmbedding models
TaskEmbeddings
Runs withtransformers
Released2024-04-30
Popularity518 downloads / month
LicenceCommercial licence needed

About

What Titan-text-embeddings is

Bedrock Titan Text Embeddings v2

This repository contains the MTEB scores and usage examples of Bedrock Titan Text Embeddings v2. You can use the embedding model either via the Bedrock InvokeModel API or via Bedrock's batch jobs. For RAG use cases we recommend the former to embed queries during search (latency optimized) and the latter to index corpus (throughput optimized).

Read the full model card

Using Bedrock's InvokeModel API

import json
import boto3
class TitanEmbeddings(object):
    accept = "application/json"
    content_type = "application/json"

    def __init__(self, model_id="amazon.titan-embed-text-v2:0"):
        self.bedrock = boto3.client(service_name='bedrock-runtime')
        self.model_id = model_id
    def __call__(self, text, dimensions, normalize=True):
        """
        Returns Titan Embeddings
        Args:
            text (str): text to embed
            dimensions (int): Number of output dimensions.
            normalize (bool): Whether to return the normalized embedding or not.
        Return:
            List[float]: Embedding

        """
        body = json.dumps({
            "inputText": text,
            "dimensions": dimensions,
            "normalize": normalize
        })
        response = self.bedrock.invoke_model(
            body=body, modelId=self.model_id, accept=self.accept, contentType=self.content_type
        )
        response_body = json.loads(response.get('body').read())
        return response_body['embedding']

if __name__ == '__main__':
    """
    Entrypoint for Amazon Titan Embeddings V2 - Text example.
    """
    dimensions = 1024
    normalize = True

    titan_embeddings_v2 = TitanEmbeddings(model_id="amazon.titan-embed-text-v2:0")

    input_text = "What are the different services that you offer?"
    embedding = titan_embeddings_v2(input_text, dimensions, normalize)

    print(f"{input_text=}")
    print(f"{embedding[:10]=}")

Using Bedrock's batch jobs

import requests
from aws_requests_auth.boto_utils import BotoAWSRequestsAuth

region = "us-east-1"
base_uri = f"bedrock.{region}.amazonaws.com"
batch_job_uri = f"https://{base_uri}/model-invocation-job/"

# For details on how to set up an IAM role for batch inference, see
# https://docs.aws.amazon.com/bedrock/latest/userguide/batch-inference-permissions.html
role_arn = "arn:aws:iam::111122223333:role/my-batch-inference-role"

payload = {
   "inputDataConfig": {
        "s3InputDataConfig": {
            "s3Uri": "s3://my-input-bucket/batch-input/",
            "s3InputFormat": "JSONL"
        }
   },
   "jobName": "embeddings-v2-batch-job",
   "modelId": "amazon.titan-embed-text-v2:0",
   "outputDataConfig": {
        "s3OutputDataConfig": {
            "s3Uri": "s3://my-output-bucket/batch-output/"
        }
   },
   "roleArn": role_arn
}

request_auth = BotoAWSRequestsAuth(
    aws_host=base_uri,
    aws_region=region,
    aws_service="bedrock"
)

response= requests.request("POST", batch_job_uri, json=payload, auth=request_auth)
print(response.json())

From the published model card. Full card on the HuggingFace links in the sidebar.

How it works

How embedding models work

Your textsentence / documentEncodermaps meaningVectorlist of numbersAn embedding model turns text into a vector, so similar meanings sit close together — the basis of search and RAG.

Benchmarks

Reported results

As published on the model card — the maker's own numbers, not measured by AxForge.

TaskDatasetMetricScore
ClassificationMTEB AmazonCounterfactualClassification (en)accuracy79.313
ClassificationMTEB AmazonCounterfactualClassification (en)ap43.947
ClassificationMTEB AmazonCounterfactualClassification (en)f173.613
ClassificationMTEB AmazonCounterfactualClassification (de)accuracy70.942
ClassificationMTEB AmazonCounterfactualClassification (de)ap82.301
ClassificationMTEB AmazonCounterfactualClassification (de)f169.380
ClassificationMTEB AmazonCounterfactualClassification (en-ext)accuracy82.294
ClassificationMTEB AmazonCounterfactualClassification (en-ext)ap29.957
ClassificationMTEB AmazonCounterfactualClassification (en-ext)f168.882
ClassificationMTEB AmazonCounterfactualClassification (ja)accuracy80.064
ClassificationMTEB AmazonCounterfactualClassification (ja)ap25.244
ClassificationMTEB AmazonCounterfactualClassification (ja)f165.538
ClassificationMTEB AmazonPolarityClassificationaccuracy76.664
ClassificationMTEB AmazonPolarityClassificationap70.770
ClassificationMTEB AmazonPolarityClassificationf176.541
ClassificationMTEB AmazonReviewsClassification (en)accuracy35.276
ClassificationMTEB AmazonReviewsClassification (en)f134.906
ClassificationMTEB AmazonReviewsClassification (de)accuracy38.826
ClassificationMTEB AmazonReviewsClassification (de)f137.713
ClassificationMTEB AmazonReviewsClassification (es)accuracy39.386
ClassificationMTEB AmazonReviewsClassification (es)f138.243
ClassificationMTEB AmazonReviewsClassification (fr)accuracy39.472
ClassificationMTEB AmazonReviewsClassification (fr)f138.372
ClassificationMTEB AmazonReviewsClassification (ja)accuracy35.898

Using it via the API

Call it like any OpenAI endpoint

Once AxForge deploys titan-text-embeddings for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (titan-text-embeddings below is illustrative; you get the exact model name on deployment.)

$ curl -sS https://api.axforge.ai/v1/embeddings \
  -H "Authorization: Bearer $AXFORGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"titan-text-embeddings","input":"text to embed"}'

Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms