Optionaluri: stringCheck if the entity is active
This method checks the active status of the entity. Most entities in the system can be active or inactive, which affects their availability and usability in the platform.
True if the entity is active, false otherwise
Convert model instance to interface data
This method serializes the model instance to a plain object that matches the interface type. This is useful for:
The model data as a plain object matching the interface type
Convert model instance to API payload
This method creates a payload suitable for API requests by:
A clean object suitable for API requests
Update model data with new values
This method updates the model's data and instance properties with new values. It performs a shallow merge of the updates with existing data, allowing for partial updates of the model's properties.
Object containing properties to update
const user = new User({
email: 'old@example.com',
firstName: 'John'
});
// Update multiple properties
user.update({
email: 'new@example.com',
lastName: 'Doe'
});
// Save changes to API
await user.save();
This method only updates the local model instance. To persist changes to the API, call save after updating.
Save the model instance to the API
This method persists the current state of the model to the API using a PUT request. It requires the model to have an ID (existing instance). For new instances, use the collection's create method instead.
The method:
Promise resolving to the updated model data
Delete the model instance from the API
This method permanently deletes the model instance from the API and clears the local data. This operation cannot be undone.
The method:
Optionalparams: objectOptional query parameters for deletion (e.g., { delete: true, deleteS3: true })
Promise that resolves when deletion is successful
Basic deletion:
const user = await users.get({}, 'user-id');
if (user) {
await user.delete();
// User is now deleted and instance is cleared
}
Reindexes all files associated with this VectorIndex
This method triggers asynchronous reindexing of all files in the VectorIndex:
The reindex operation will process:
Promise resolving to reindex result with status and deleted vectors count
Performs RAG (Retrieval-Augmented Generation) search within this VectorIndex
This method performs a complete RAG pipeline: generates embeddings for a query, searches the vector index for relevant documents, and reranks the results using a reranking model. It searches only within this VectorIndex.
The search query to process
Optionaloptions: {Search options
Optionallimit?: numberMaximum number of results to return
Optionalparams?: Record<string, any>Additional metadata filters for vector search
Optionalexclude?: string[]Array of document IDs or content to exclude from results
OptionalembeddingModelId?: stringCustom embedding model ID to use (optional)
OptionalrerankModelId?: stringCustom reranking model ID to use (optional)
Promise resolving to RAG search results with documents and paging
// Basic RAG search
const vectorIndex = await vectorIndexes.getById('index-id');
const results = await vectorIndex.search('machine learning algorithms');
// Returns: { documents: [{ document: "...", index: 0, relevance_score: 0.95 }, ...], paging: {...} }
// RAG search with options
const results = await vectorIndex.search('AI best practices', {
limit: 20,
params: { category: 'technical' },
exclude: ['doc-id-1', 'doc-id-2'],
embeddingModelId: 'custom-embedding-model',
rerankModelId: 'custom-rerank-model'
});
results.documents.forEach((doc, idx) => {
console.log(`Result ${idx}: ${doc.document.substring(0, 100)}... (score: ${doc.relevance_score})`);
});
VectorIndex class for managing vector indexes
This class represents a vector index in the Mosaia platform, which is used for semantic search and similarity matching.