For a text-only RAG application, start by comparing OpenAI text-embedding-3-small with Voyage voyage-4-lite: both list a $0.02-per-million-token rate. Add a larger model if that baseline misses relevant passages. For a local deployment, evaluate Qwen3-Embedding-0.6B or BGE-M3. For documents whose images carry essential information, include Cohere Embed 5 Pro. These are evaluation starting points based on documented capabilities and costs.
This comparison uses vendor documentation checked October 28, 2026. PE Collective has not run a retrieval benchmark for this article. Recommendations describe which candidates to test for a particular constraint; they do not establish a universal quality ranking.
Our data: a model shortlist and a reproducible budget
The comparison covers seven models. From four published API rates, we calculate eight embedding charges for two illustrative workloads: an initial index and a month of refreshes plus queries. We also calculate five raw-vector storage sizes. The inputs and formulas appear below. These are planning calculations, not measured throughput, retrieval scores or customer bills.
Selection criteria are deployment control, input modality, model input limits, vector dimensions and an identifiable pricing basis. The shortlist covers different operational needs; it is not an exhaustive model catalog. Choose the candidates that satisfy your constraints before spending time comparing their retrieval results.
Which embedding models should you compare?
| Model | Deployment | Input limit | Vector dimensions | Pricing basis |
|---|---|---|---|---|
| OpenAI text-embedding-3-small | Hosted text API | 8,192 tokens | 1,536 default; shortening supported | $0.02 / million input tokens |
| OpenAI text-embedding-3-large | Hosted text API | 8,192 tokens | 3,072 default; shortening supported | $0.13 / million input tokens |
| Voyage voyage-4-lite | Hosted text API | 32,000 tokens | 256, 512, 1,024 default, 2,048 | $0.02 / million input tokens |
| Voyage voyage-4-large | Hosted text API | 32,000 tokens | 256, 512, 1,024 default, 2,048 | $0.12 / million input tokens |
| Cohere embed-v5.0-pro | Text, image and mixed-document inputs | 128k tokens | 256, 512, 768, 1,024, 1,536, 2,048 default | Confirm deployment-specific pricing; excluded from token-cost calculation |
| Qwen3-Embedding-0.6B | Self-hosted text model | 32k tokens | 32–1,024 | Apache 2.0 weights; your hosting and operating costs |
| BAAI BGE-M3 | Self-hosted text model | 8,192 tokens | 1,024 dense dimensions | MIT weights; your hosting and operating costs |
Sources: OpenAI configuration guide and small/large model pricing; Voyage specifications and pricing; Cohere model documentation and deployment pricing; publisher model cards for Qwen and BGE-M3. Input limits use each publisher's token units; identical text need not produce identical token counts across providers.
Low-cost hosted text retrieval
Use text-embedding-3-small and voyage-4-lite as a cost-controlled first comparison. Their listed token rates are equal, while their input limits and dimension options differ. Test the same document chunks and queries with each provider's required configuration. A longer accepted input does not show that a whole-document vector will retrieve the right paragraph.
Compare the smaller and larger models within the same provider when you want to test whether paying more changes the failures you care about. OpenAI large has a higher listed rate than small. Voyage large likewise costs more than lite. Neither price difference establishes the size of a quality improvement on your corpus.
Documents with diagrams, screenshots or scanned information
Cohere's current Embed 5 documentation covers text, images and mixed text/image inputs. It also describes a shared embedding space for Pro and Fast. That makes this family worth evaluating when information would be lost by extracting only plain text. Include questions whose answers actually require an image, alongside ordinary text questions.
Keep the deployment quote separate from a token-only comparison. Cohere's public pricing page includes dedicated Model Vault instances; that is a different billing basis from the hosted token rates above. Confirm the endpoint, billing units and deployment configuration before calculating a comparable workload cost.
Open weights and local deployment
Qwen3-Embedding-0.6B offers a compact model option with configurable output dimensions. BGE-M3 combines dense, sparse and multi-vector retrieval capabilities. These are useful candidates when you need control over where inference runs or want to compare retrieval methods. Their published licenses and specifications are linked in the table.
Self-hosting needs its own measurement: hardware, model loading, batching, memory use, throughput and support time. A model's parameter count or downloadable weights do not establish a production latency or monthly cost. Benchmark the serving configuration you plan to operate, including periods when capacity is idle. This article does not prescribe a minimum GPU or promise that local inference will be cheaper.
What would embedding a million chunks cost?
Use this hypothetical workload to make the arithmetic comparable. The initial index contains 1,000,000 chunks averaging 500 input tokens: 500 million tokens. Each subsequent month refreshes 100,000 chunks at 500 tokens each and embeds 100,000 queries at 30 tokens each: 50 million + 3 million = 53 million tokens.
The formula is cost = input tokens ÷ 1,000,000 × listed rate. Each scenario assumes the stated token counts under that provider's tokenizer. These are standard-rate calculations before credits, discounts or taxes; they exclude retries, image inputs, vector database charges, reranking, answer generation and operations.
| Model | Rate per million tokens | Initial 500 million tokens | Recurring 53 million tokens |
|---|---|---|---|
| text-embedding-3-small | $0.02 | $10.00 | $1.06 |
| text-embedding-3-large | $0.13 | $65.00 | $6.89 |
| voyage-4-lite | $0.02 | $10.00 | $1.06 |
| voyage-4-large | $0.12 | $60.00 | $6.36 |
For example, the large OpenAI model's initial charge is 500 × $0.13 = $65.00. The recurring Voyage large charge is 53 × $0.12 = $6.36. Replace both the chunk volume and the token assumptions with your measured inputs. Actual free allowances or batch rates can change the bill; the table deliberately keeps those account and processing choices outside the calculation.
How much storage do the vectors need?
For one million dense vectors stored as float32 values, raw storage in decimal GB is 1,000,000 × dimensions × 4 bytes ÷ 1,000,000,000. This is the vector payload alone, with one vector per chunk.
| Dimensions | Raw storage |
|---|---|
| 512 | 2.048 GB |
| 1,024 | 4.096 GB |
| 1,536 | 6.144 GB |
| 2,048 | 8.192 GB |
| 3,072 | 12.288 GB |
Index structures, stored text, metadata, replicas and backups add storage. Sparse or multi-vector representations need separate estimates. Reducing dimensions lowers this payload, but the effect on retrieval must be measured. Use the model's documented dimension controls and rebuild or migrate consistently; do not assume arbitrary truncation preserves relevance.
How should you benchmark models for your RAG system?
Evaluate whether the retrieved passages contain the evidence needed to answer representative questions. Keep the test set separate from examples used to tune the system. Public leaderboard results can help choose candidates, but scores from different tasks, languages or evaluation versions should not be combined into a single ranking.
- Freeze the inputs. Save a corpus version, chunking rules, metadata filters and labeled relevant passages. Include exact identifiers, ambiguous terminology and the language pairs your users need. Mark questions that the corpus cannot answer.
- Follow each model's query/document setup. Record the exact model ID, dimensions, input instructions and normalization. Keep corpus boundaries and retrieval depth constant for the initial comparison. Check for truncation rather than silently accepting dropped text.
- Measure coverage and ordering. Recall@k asks how much of the labeled relevant material appears in the first k results. MRR tracks the reciprocal rank of the first relevant result. Choose metrics and acceptance criteria before inspecting which model wins.
- Review the failures. Separate missing source evidence from wrong retrieval, filtering mistakes and poor chunk boundaries. Group results by language and question type so a good average does not hide a critical weakness.
- Measure operating behavior. Record latency under your expected concurrency, input token counts, error rates and index refresh time. A model that improves recall may still miss your response-time budget.
The Sentence Transformers InformationRetrievalEvaluator documents a concrete evaluation interface using queries, a corpus and relevant-document labels, with Recall@k and MRR among its metrics. Keep a lexical-search baseline when names, codes or exact phrases are important. Test hybrid retrieval and reranking as separate changes after the first model comparison. Evaluate generated answers afterward: retrieving the right passage and producing a supported answer are different checks.
Can you change models without rebuilding the index?
Plan for a new document index unless the provider explicitly documents compatible embedding spaces. Equal vector length alone does not establish compatibility. Voyage documents compatibility within its 4-series models, and Cohere documents it between Embed 5 Pro and Fast; confirm matching dimensions and the supported setup before relying on either exception.
For other changes, create a parallel index, encode the saved corpus, and rerun the same labeled queries. Keep query and document configurations paired. Compare results before routing production searches to the replacement, and retain a rollback path. Include the full re-embedding workload and temporary duplicate storage in the migration budget.
How this comparison is maintained
PE Collective maintains this AI-assisted documentation review and derived cost analysis. Specifications and rates were checked October 28, 2026; calculations use the stated hypothetical inputs. No model inference was performed for this article. Recheck vendor prices and model availability before purchase and whenever changing a deployment. For the underlying concept, see how embeddings represent text. The immediate next step is to select a baseline and record a retrieval evaluation on your own documents.
