Skip to content

Voyage Embeddings

The Voyage embeddings provider converts text into vectors using Voyage AI’s embedding models. Voyage offers state-of-the-art embeddings with specialized models for code, finance, and legal domains.

Terminal window
npm install @youcraft/recall-embeddings-voyage
import { createMemory } from '@youcraft/recall'
import { voyageEmbeddings } from '@youcraft/recall-embeddings-voyage'
const embeddings = voyageEmbeddings({
apiKey: process.env.VOYAGE_API_KEY!,
})
const memory = createMemory({ db, embeddings, extractor })
OptionTypeDefaultDescription
apiKeystringrequiredYour Voyage API key
modelstring"voyage-3-lite"Embedding model to use
inputTypestring"document"Input type for embeddings
ModelDimensionsDescription
voyage-3-large1024Highest quality general-purpose embeddings
voyage-31024High quality general-purpose embeddings
voyage-3-lite512Fast, efficient general-purpose embeddings
voyage-code-31024Optimized for code retrieval
voyage-finance-21024Optimized for finance domain
voyage-law-21024Optimized for legal domain
voyage-multilingual-21024Multilingual support
const embeddings = voyageEmbeddings({
apiKey: process.env.VOYAGE_API_KEY!,
model: 'voyage-3-large',
})
const embeddings = voyageEmbeddings({
apiKey: process.env.VOYAGE_API_KEY!,
model: 'voyage-code-3',
})
// For finance applications
const embeddings = voyageEmbeddings({
apiKey: process.env.VOYAGE_API_KEY!,
model: 'voyage-finance-2',
})
// For legal applications
const embeddings = voyageEmbeddings({
apiKey: process.env.VOYAGE_API_KEY!,
model: 'voyage-law-2',
})

Voyage models support different input types optimized for specific use cases:

TypeUse Case
documentEmbedding documents to be searched (default)
queryEmbedding search queries

For memory storage and retrieval, document is typically the best choice.

The provider automatically handles Voyage’s batch size limit (128 texts per request):

// Handled automatically - splits into batches of 128
await embeddings.embedBatch(texts) // Works with any size array