Class that extends the VectorStore base class to interact with a Qdrant database. It includes methods for adding documents and vectors to the Qdrant database, searching for similar vectors, and ensuring the existence of a collection in the database.

Hierarchy (view full)

Constructors

Properties

FilterType: {}
client: QdrantClient
collectionName: string
contentPayloadKey: string
metadataPayloadKey: string
collectionConfig?: {}

Methods

  • Method to add documents to the Qdrant database. It generates vectors from the documents using the Embeddings instance and then adds the vectors to the database.

    Parameters

    • documents: Document[]

      Array of Document instances to be added to the Qdrant database.

    • OptionaldocumentOptions: QdrantAddDocumentOptions

      Optional QdrantAddDocumentOptions which has a list of JSON objects for extra querying

    Returns Promise<void>

    Promise that resolves when the documents have been added to the database.

  • Method to add vectors to the Qdrant database. Each vector is associated with a document, which is stored as the payload for a point in the database.

    Parameters

    • vectors: number[][]

      Array of vectors to be added to the Qdrant database.

    • documents: Document[]

      Array of Document instances associated with the vectors.

    • OptionaldocumentOptions: QdrantAddDocumentOptions

      Optional QdrantAddDocumentOptions which has a list of JSON objects for extra querying

    Returns Promise<void>

    Promise that resolves when the vectors have been added to the database.

  • Method to ensure the existence of a collection in the Qdrant database. If the collection does not exist, it is created.

    Returns Promise<void>

    Promise that resolves when the existence of the collection has been ensured.

  • Return documents selected using the maximal marginal relevance. Maximal marginal relevance optimizes for similarity to the query AND diversity among selected documents.

    Parameters

    • query: string

      Text to look up documents similar to.

    • options: MaxMarginalRelevanceSearchOptions<this["FilterType"]>

    Returns Promise<Document[]>

    • List of documents selected by maximal marginal relevance.
  • Method to search for vectors in the Qdrant database that are similar to a given query vector. The search results include the score and payload (metadata and content) for each similar vector.

    Parameters

    • query: number[]

      Query vector to search for similar vectors in the Qdrant database.

    • Optionalk: number

      Optional number of similar vectors to return. If not specified, all similar vectors are returned.

    • Optionalfilter: {}

      Optional filter to apply to the search results.

      Returns Promise<[Document, number][]>

      Promise that resolves with an array of tuples, where each tuple includes a Document instance and a score for a similar vector.

    • Static method to create a QdrantVectorStore instance from Document instances. The documents are added to the Qdrant database.

      Parameters

      • docs: Document[]

        Array of Document instances to be added to the Qdrant database.

      • embeddings: EmbeddingsInterface

        Embeddings instance used to generate vectors from the documents.

      • dbConfig: QdrantLibArgs

        QdrantLibArgs instance specifying the configuration for the Qdrant database.

      Returns Promise<QdrantVectorStore>

      Promise that resolves with a new QdrantVectorStore instance.

    • Static method to create a QdrantVectorStore instance from an existing collection in the Qdrant database.

      Parameters

      • embeddings: EmbeddingsInterface

        Embeddings instance used to generate vectors from the documents in the collection.

      • dbConfig: QdrantLibArgs

        QdrantLibArgs instance specifying the configuration for the Qdrant database.

      Returns Promise<QdrantVectorStore>

      Promise that resolves with a new QdrantVectorStore instance.

    • Static method to create a QdrantVectorStore instance from texts. Each text is associated with metadata and converted to a Document instance, which is then added to the Qdrant database.

      Parameters

      • texts: string[]

        Array of texts to be converted to Document instances and added to the Qdrant database.

      • metadatas: object | object[]

        Array or single object of metadata to be associated with the texts.

      • embeddings: EmbeddingsInterface

        Embeddings instance used to generate vectors from the texts.

      • dbConfig: QdrantLibArgs

        QdrantLibArgs instance specifying the configuration for the Qdrant database.

      Returns Promise<QdrantVectorStore>

      Promise that resolves with a new QdrantVectorStore instance.

    ""