stores/astra/README.md
Vector store implementation for DataStax Astra DB, providing vector similarity search capabilities using Cassandra's vector search functionality.
npm install @mastra/astra
import { AstraVector } from '@mastra/astra';
const vectorStore = new AstraVector({
token: 'your-astra-token',
endpoint: 'your-astra-endpoint',
keyspace: 'your-keyspace' // optional
});
// Create a new collection
await vectorStore.createIndex({ indexName: 'myCollection', dimension: 1536, metric: 'cosine' });
// Add vectors
const vectors = [[0.1, 0.2, ...], [0.3, 0.4, ...]];
const metadata = [{ text: 'doc1' }, { text: 'doc2' }];
const ids = await vectorStore.upsert({ indexName: 'myCollection', vectors, metadata });
// Query vectors
const results = await vectorStore.query({
indexName: 'myCollection',
queryVector: [0.1, 0.2, ...],
topK: 10, // topK
filter: { text: { $eq: 'doc1' } }, // optional filter
includeVector: false // includeVectors
});
The Astra DB vector store requires:
token: Your Astra DB tokenendpoint: Your Astra DB endpointkeyspace: (Optional) The keyspace to usecreateIndex({ indexName, dimension, metric? }): Create a new collectionupsert({ indexName, vectors, metadata?, ids }): Add or update vectorsquery({ indexName, queryVector, topK?, filter?, includeVector? }): Search for similar vectorslistIndexes(): List all collectionsdescribeIndex(indexName): Get collection statisticsdeleteIndex(indexName): Delete a collection