Vectors API
The Vectors API provides methods to work with vector embeddings for semantic search and similarity matching in Mastra.
Working with VectorsDirect link to Working with Vectors
Get an instance of a vector store:
const vector = mastraClient.getVector("vector-name");
Vector MethodsDirect link to Vector Methods
Get Vector Index DetailsDirect link to Get Vector Index Details
Retrieve information about a specific vector index:
const details = await vector.details("index-name");
Create Vector IndexDirect link to Create Vector Index
Create a new vector index:
const result = await vector.createIndex({
indexName: "new-index",
dimension: 128,
metric: "cosine", // 'cosine', 'euclidean', or 'dotproduct'
});
Upsert VectorsDirect link to Upsert Vectors
Add or update vectors in an index:
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 VectorsDirect link to Query Vectors
Search for similar vectors:
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 IndexesDirect link to Get All Indexes
List all available indexes:
const indexes = await vector.getIndexes();
Delete IndexDirect link to Delete Index
Delete a vector index:
const result = await vector.delete("index-name");