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

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

Type declaration

    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.

      • Optional documentOptions: 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.

      • Optional documentOptions: 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.

    • 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.

      • Optional k: number

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

      • Optional filter: {}

        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.

      Generated using TypeDoc