Skip to content
Dashboard

How to choose an embedding model for production retrieval

Copy link to headingKey takeaways

Copy link to headingWhat are embedding models?

Copy link to headingHow embedding models differ from the chat models teams already run

Copy link to headingWhy embedding model choice matters for production teams

Copy link to headingSix criteria for embedding model selection

Copy link to heading1. Dimension count

Copy link to heading2. Benchmark rank

Copy link to heading3. Domain and language fit

Copy link to heading4. Cost and latency at volume

Copy link to heading5. Open weights versus hosted API

Copy link to heading6. Input length limits

Copy link to headingFour practices for evaluating embedding models before committing

Copy link to heading1. Build a domain-specific eval set first

Copy link to heading2. Test with real production queries, not sample text

Copy link to heading3. Price the re-embedding before locking a dimension count

Copy link to heading4. Plan the model migration before it becomes urgent

Copy link to headingHow Vercel helps engineering teams put an embedding model into production

Copy link to headingSwap embedding models with a config change through AI Gateway

Copy link to headingBatch and single embedding calls with the AI SDK

import { embedMany } from 'ai';
const { embeddings } = await embedMany({
model: 'openai/text-embedding-3-small',
values: chunks,
});

Copy link to headingKeep ingest pipelines running through provider outages

Copy link to headingRun full-corpus re-embedding as a durable workflow

Copy link to headingChoose and route embedding models on Vercel

Copy link to headingFrequently asked questions about embedding models

Copy link to headingCan teams switch embedding models without re-embedding the corpus?

Copy link to headingAre more embedding dimensions always better?

Copy link to headingHow much notice do providers give before deprecating embedding models?

Copy link to headingDo open-source embedding models need special query prefixes?

Ready to deploy?