class AzionVectorStoreExample usage:
// Initialize the vector store
const vectorStore = new AzionVectorStore(embeddings, {
dbName: "mydb",
tableName: "documents"
});
// Setup database with hybrid search and metadata columns
await vectorStore.setupDatabase({
columns: ["topic", "language"],
mode: "hybrid"
});
// OR: Initialize using the static create method
const vectorStore = await AzionVectorStore.initialize(embeddings, {
dbName: "mydb",
tableName: "documents"
}, {
columns: ["topic", "language"],
mode: "hybrid"
});
By default, the columns are not expanded, meaning that the metadata is stored in a single column:
// Setup database with hybrid search and metadata columns
await vectorStore.setupDatabase({
columns: ["*"],
mode: "hybrid"
});
// Add documents to the vector store
await vectorStore.addDocuments([
new Document({
pageContent: "Australia is known for its unique wildlife",
metadata: { topic: "nature", language: "en" }
})
]);
// Perform similarity search
const results = await vectorStore.similaritySearch(
"coral reefs in Australia",
2, // Return top 2 results
{ filter: [{ operator: "=", column: "topic", string: "biology" }] } // Optional AzionFilter
);
// Perform full text search
const ftResults = await vectorStore.fullTextSearch(
"Sydney Opera House",
1, // Return top result
{ filter: [{ operator: "=", column: "language", string: "en" }] } // Optional AzionFilter
);Name of the database to use
Embeddings interface for generating vector embeddings from text queries, enabling vector-based similarity searches.
Whether the metadata is contained in a single column or multiple columns
Type declaration for filter type
Name of the main table to store vectors and documents
Returns a string representing the type of vector store, which subclasses must implement to identify their specific vector storage type.
Adds documents to the vector store.
Adds vectors to the vector store.
Creates a VectorStoreRetriever instance with flexible configuration options.
Performs a full-text search on the vector store and returns the top 'k' similar documents.
Performs a hybrid search on the vector store and returns the top 'k' similar documents.
Performs a similarity search on the vector store and returns the top 'k' similar documents.
Converts a query to a FTS query.
Deletes documents from the vector store.
Return documents selected using the maximal marginal relevance. Maximal marginal relevance optimizes for similarity to the query AND diversity among selected documents.
Sets up the database and tables.
Searches for documents similar to a text query by embedding the query and performing a similarity search on the resulting vector.
Performs a similarity search on the vector store and returns the top 'similarityK' similar documents.
Searches for documents similar to a text query by embedding the query, and returns results with similarity scores.
Creates a VectorStore instance from an array of documents, using the specified
embeddings and database configuration.
Subclasses must implement this method to define how documents are embedded and stored. Throws an error if not overridden.
Creates a VectorStore instance from an array of text strings and optional
metadata, using the specified embeddings and database configuration.
Subclasses must implement this method to define how text and metadata are embedded and stored in the vector store. Throws an error if not overridden.
Creates a new vector store instance and sets up the database.
The name of the serializable. Override to provide an alias or to preserve the serialized module name in minified environments.
Implemented as a static method to support loading logic.