Back to Mastra

Reference: Vectors API | Client SDK

docs/src/content/en/reference/client-js/vectors.mdx

2025-12-181.5 KB
Original Source

Vectors API

The Vectors API provides methods to work with vector embeddings for semantic search and similarity matching in Mastra.

Working with vectors

Get an instance of a vector store:

typescript
const vector = mastraClient.getVector('vector-name')

Vector methods

Get Vector Index Details

Retrieve information about a specific vector index:

typescript
const details = await vector.details('index-name')

Create Vector Index

Create a new vector index:

typescript
const result = await vector.createIndex({
  indexName: 'new-index',
  dimension: 128,
  metric: 'cosine', // 'cosine', 'euclidean', or 'dotproduct'
})

Upsert Vectors

Add or update vectors in an index:

typescript
const ids = await vector.upsert({
  indexName: 'my-index',
  vectors: [
    [0.1, 0.2, 0.3], // First vector
    [0.4, 0.5, 0.6], // Second vector
  ],
  metadata: [{ label: 'first' }, { label: 'second' }],
  ids: ['id1', 'id2'], // Optional: Custom IDs
})

Query Vectors

Search for similar vectors:

typescript
const results = await vector.query({
  indexName: 'my-index',
  queryVector: [0.1, 0.2, 0.3],
  topK: 10,
  filter: { label: 'first' }, // Optional: Metadata filter
  includeVector: true, // Optional: Include vectors in results
})

Get All Indexes

List all available indexes:

typescript
const indexes = await vector.getIndexes()

Delete Index

Delete a vector index:

typescript
const result = await vector.delete('index-name')