Why Bedrock Titan Embeddings Is the Part Nobody Talks About
← Back to Blog

Why Bedrock Titan Embeddings Is the Part Nobody Talks About

No single-vendor lock-in at the vector layer. Use Bedrock Titan for embeddings, OpenAI for generation. Mix and match. Escape the trap.

The embedding vendor lock-in trap

You choose an LLM vendor. You use them for generation. Works great.

Then you need embeddings for semantic search. You use the same vendor (OpenAI, Anthropic, etc.) because they support it.

Now you are locked in twice. Once for generation. Once for embeddings.

If the vendor raises prices, you cannot escape easily. Your entire AI stack depends on them.

That is the trap.

Why embeddings are different from generation

Generation is unique to each vendor. Claude thinks differently than GPT-4.

Embeddings are almost interchangeable. An embedding from OpenAI and an embedding from Anthropic are semantically similar.

You can swap embedding providers with almost no loss in quality. But you can only swap if you have multiple options.

If you are locked into OpenAI for generation, and you use their embeddings API, you have no escape.

What Bedrock Titan embeddings changes

AWS offers Bedrock Titan Text Embeddings. Native to AWS. Integrated with Bedrock.

This means: use OpenAI for generation. Use Titan for embeddings. No lock-in.

Or use Anthropic for generation. Use Titan for embeddings.

Or use Ollama for generation. Use Titan for embeddings (if you have Bedrock access).

Each decision is independent. No single-vendor trap.

The cost angle

Bedrock Titan embeddings cost less than alternatives. Significantly less.

Example pricing (approximate): OpenAI Embeddings (text-embedding-3-small): $0.02 per 1M tokens

Bedrock Titan Embeddings: $0.0001 per 1K requests

For 1M embedding requests/month, OpenAI costs ~$20.

Bedrock Titan costs ~$100 (because tokens vary).

But if you are doing semantic search on large documents,

Titan can be 3-5x cheaper than text-embedding-3-small.

Cost alone is not the story. But it matters.

The quality angle

Bedrock Titan is AWS-native. Optimized for AWS vector stores (RDS pgvector, OpenSearch).

If you are on AWS infrastructure anyway, Titan embeddings integrate cleanly.

Quality is comparable to OpenAI for most use cases. Not bleeding-edge, but solid.

Why competitors do not have this

Claude Code, Copilot, Cursor: they all lock you into their generation models.

They do not offer embedding APIs. They do not let you choose the embedding provider.

This is not malicious. It is just how they are architected. Everything is proprietary.

WalnutAI is different. We let you choose. Generation provider, embedding provider, all independently.

The strategic implication

If you support multiple LLM providers (like we do with multi-LLM routing), you also need multiple embedding options.

Otherwise you have solved half the problem.

Bedrock Titan is the answer for teams committed to AWS. For teams committed to other platforms, there are other options.

But you need the option.

How to use Bedrock Titan embeddings

In your WalnutAI configuration:

Config example: embedding_provider: bedrock-titan

bedrock_region: us-east-1

bedrock_model: titan-embed-text-v2

llm_provider: openai  (or anthropic, or ollama)

openai_model: gpt-4

Generation provider and embedding provider are decoupled. Change one without affecting the other.

The hidden benefit: cost optimization

You route expensive generation tasks to OpenAI. You route cheap embedding tasks to Bedrock Titan.

Your per-task cost goes down significantly.

Multiply across a year of inference. The savings are real.

For AWS-committed teams

If you are already on AWS infrastructure, Bedrock Titan should be your embedding layer.

You get cost benefits, integration benefits, and you maintain flexibility over your generation provider.

The honest take

Bedrock Titan embeddings is not flashy. It does not get demoed. It does not impress anyone in a sales call.

But it is the architectural choice that lets you escape vendor lock-in on the vector layer.

And if you are going to be strategic about your LLM dependencies, you need to be strategic about all the layers. Not just generation.

Next step

If you are on AWS, configure WalnutAI to use Bedrock Titan embeddings.

If you are multi-cloud, evaluate Titan alongside other options. Make the choice that fits your infrastructure.

Own your embedding layer. Do not let a single vendor own it for you.

https://www.walnutai.ai/

W
WalnutAI Team