langchain.js
    Preparing search index...

    Class ConvexVectorStore<DataModel, TableName, IndexName, TextFieldName, EmbeddingFieldName, MetadataFieldName, InsertMutation, GetQuery>

    Class that is a wrapper around Convex storage and vector search. It is used to insert embeddings in Convex documents with a vector search index, and perform a vector search on them.

    ConvexVectorStore does NOT implement maxMarginalRelevanceSearch.

    Type Parameters

    • DataModel extends GenericDataModel
    • TableName extends TableNamesInDataModel<DataModel>
    • IndexName extends VectorIndexNames<NamedTableInfo<DataModel, TableName>>
    • TextFieldName extends FieldPaths<NamedTableInfo<DataModel, TableName>>
    • EmbeddingFieldName extends FieldPaths<NamedTableInfo<DataModel, TableName>>
    • MetadataFieldName extends FieldPaths<NamedTableInfo<DataModel, TableName>>
    • InsertMutation extends FunctionReference<"mutation", "internal", { document: object; table: string }>
    • GetQuery extends FunctionReference<"query", "internal", { id: string }, object | null>

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    FilterType: {
        filter?: (
            q: VectorFilterBuilder<
                GenericDocument,
                NamedVectorIndex<NamedTableInfo<DataModel, TableName>, IndexName>,
            >,
        ) => FilterExpression<boolean>;
        includeEmbeddings?: boolean;
    }

    Type that defines the filter used in the similaritySearchVectorWithScore and maxMarginalRelevanceSearch methods. It includes limit, filter and a flag to include embeddings.

    Methods

    • Returns string

    • Add documents to the Convex table. It first converts the documents to vectors using the embeddings and then calls the addVectors method.

      Parameters

      • documents: Document[]

        Documents to be added.

      Returns Promise<void>

      Promise that resolves when the documents have been added.

    • Add vectors and their corresponding documents to the Convex table.

      Parameters

      • vectors: number[][]

        Vectors to be added.

      • documents: Document[]

        Corresponding documents to be added.

      Returns Promise<void>

      Promise that resolves when the vectors and documents have been added.

    • Similarity search on the vectors stored in the Convex table. It returns a list of documents and their corresponding similarity scores.

      Parameters

      • query: number[]

        Query vector for the similarity search.

      • k: number

        Number of nearest neighbors to return.

      • Optionalfilter: {
            filter?: (
                q: VectorFilterBuilder<
                    GenericDocument,
                    NamedVectorIndex<NamedTableInfo<DataModel, TableName>, IndexName>,
                >,
            ) => FilterExpression<boolean>;
            includeEmbeddings?: boolean;
        }

        Optional filter to be applied.

      Returns Promise<[Document, number][]>

      Promise that resolves to a list of documents and their corresponding similarity scores.