Class for interacting with the Cassandra database. It extends the VectorStore class and provides methods for adding vectors and documents, searching for similar vectors, and creating instances from texts or documents.

Hierarchy

  • VectorStore
    • CassandraStore

Constructors

Properties

FilterType: WhereClause
embeddings: EmbeddingsInterface

Embeddings interface for generating vector embeddings from text queries, enabling vector-based similarity searches.

Methods

  • Method to add documents to the Cassandra database.

    Parameters

    • documents: Document<Record<string, any>>[]

      The documents to add.

    Returns Promise<void>

    Promise that resolves when the documents have been added.

  • Method to save vectors to the Cassandra database.

    Parameters

    • vectors: number[][]

      Vectors to save.

    • documents: Document<Record<string, any>>[]

      The documents associated with the vectors.

    Returns Promise<void>

    Promise that resolves when the vectors have been added.

  • Creates a VectorStoreRetriever instance with flexible configuration options.

    Parameters

    • OptionalkOrFields: number | Partial<VectorStoreRetrieverInput<CassandraStore>>

      If a number is provided, it sets the k parameter (number of items to retrieve).

      • If an object is provided, it should contain various configuration options.
    • Optionalfilter: WhereClause

      Optional filter criteria to limit the items retrieved based on the specified filter type.

    • Optionalcallbacks: Callbacks

      Optional callbacks that may be triggered at specific stages of the retrieval process.

    • Optionaltags: string[]

      Tags to categorize or label the VectorStoreRetriever. Defaults to an empty array if not provided.

    • Optionalmetadata: Record<string, unknown>

      Additional metadata as key-value pairs to add contextual information for the retrieval process.

    • Optionalverbose: boolean

      If true, enables detailed logging for the retrieval process. Defaults to false.

    Returns VectorStoreRetriever<CassandraStore>

    • A configured VectorStoreRetriever instance based on the provided parameters.

    Basic usage with a k value:

    const retriever = myVectorStore.asRetriever(5);
    

    Usage with a configuration object:

    const retriever = myVectorStore.asRetriever({
    k: 10,
    filter: myFilter,
    tags: ['example', 'test'],
    verbose: true,
    searchType: 'mmr',
    searchKwargs: { alpha: 0.5 },
    });
  • Deletes documents from the vector store based on the specified parameters.

    Parameters

    • Optional_params: Record<string, any>

      Flexible key-value pairs defining conditions for document deletion.

    Returns Promise<void>

    A promise that resolves once the deletion is complete.

  • Method to search for vectors that are similar to a given query vector, but with the results selected using the maximal marginal relevance.

    Parameters

    • query: string

      The query string.

    • options: MaxMarginalRelevanceSearchOptions<WhereClause>

    Returns Promise<Document<Record<string, any>>[]>

    List of documents selected by maximal marginal relevance.

  • Helper method to search for vectors that are similar to a given query vector.

    Parameters

    • query: number[]

      The query vector.

    • k: number

      The number of similar Documents to return.

    • Optionalfilter: WhereClause

      Optional filter to be applied as a WHERE clause.

    • OptionalincludeEmbedding: boolean

      Whether to include the embedding vectors in the results.

    Returns Promise<[Document<Record<string, any>>, number][]>

    Promise that resolves with an array of tuples, each containing a Document and a score.

  • Searches for documents similar to a text query by embedding the query and performing a similarity search on the resulting vector.

    Parameters

    • query: string

      Text query for finding similar documents.

    • Optionalk: number

      Number of similar results to return. Defaults to 4.

    • Optionalfilter: WhereClause

      Optional filter based on FilterType.

    • Optional_callbacks: Callbacks

      Optional callbacks for monitoring search progress

    Returns Promise<DocumentInterface<Record<string, any>>[]>

    A promise resolving to an array of DocumentInterface instances representing similar documents.

  • Method to search for vectors that are similar to a given query vector.

    Parameters

    • query: number[]

      The query vector.

    • k: number

      The number of similar Documents to return.

    • Optionalfilter: WhereClause

      Optional filter to be applied as a WHERE clause.

    Returns Promise<[Document<Record<string, any>>, number][]>

    Promise that resolves with an array of tuples, each containing a Document and a score.

  • Searches for documents similar to a text query by embedding the query, and returns results with similarity scores.

    Parameters

    • query: string

      Text query for finding similar documents.

    • Optionalk: number

      Number of similar results to return. Defaults to 4.

    • Optionalfilter: WhereClause

      Optional filter based on FilterType.

    • Optional_callbacks: Callbacks

      Optional callbacks for monitoring search progress

    Returns Promise<[DocumentInterface<Record<string, any>>, number][]>

    A promise resolving to an array of tuples, each containing a document and its similarity score.

  • Returns Serialized

  • Static method to create an instance of CassandraStore from documents.

    Parameters

    • docs: Document<Record<string, any>>[]

      The documents to use.

    • embeddings: EmbeddingsInterface

      The embeddings to use.

    • args: CassandraLibArgs

      The arguments for the CassandraStore.

    Returns Promise<CassandraStore>

    Promise that resolves with a new instance of CassandraStore.

  • Static method to create an instance of CassandraStore from texts.

    Parameters

    • texts: string[]

      The texts to use.

    • metadatas: object | object[]

      The metadata associated with the texts.

    • embeddings: EmbeddingsInterface

      The embeddings to use.

    • args: CassandraLibArgs

      The arguments for the CassandraStore.

    Returns Promise<CassandraStore>

    Promise that resolves with a new instance of CassandraStore.