Qdrant plugin

August 7, 2025 ยท View on GitHub

The Qdrant plugin provides Genkit indexer and retriever implementations in JS and Go that use the Qdrant.

Installation

npm i genkitx-qdrant

Configuration

To use this plugin, specify it when you call configureGenkit():

import { qdrant } from 'genkitx-qdrant';

const ai = genkit({
    plugins: [
        qdrant([
            {
                embedder: googleAI.embedder('text-embedding-004'),
                collectionName: 'collectionName',
                clientParams: {
                    url: 'http://localhost:6333',
                }
            }
        ]),
    ],
});

You'll need to specify a collection name, the embedding model you want to use and the Qdrant client parameters. In addition, there are a few optional parameters:

  • embedderOptions: Additional options to pass options to the embedder:

    embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
    
  • contentPayloadKey: Name of the payload filed with the document content. Defaults to "content".

    contentPayloadKey: 'content';
    
  • metadataPayloadKey: Name of the payload filed with the document metadata. Defaults to "metadata".

    metadataPayloadKey: 'metadata';
    
  • dataTypePayloadKey: Name of the payload filed with the document datatype. Defaults to "_content_type".

    dataTypePayloadKey: '_datatype';
    
  • collectionCreateOptions: Additional options when creating the Qdrant collection.

Usage

Import retriever and indexer references like so:

import { qdrantIndexerRef, qdrantRetrieverRef } from 'genkitx-qdrant';

Then, pass their references to retrieve() and index():

// To export an indexer reference:
export const qdrantIndexer = qdrantIndexerRef('collectionName', 'displayName');
// To export a retriever reference:
export const qdrantRetriever = qdrantRetrieverRef('collectionName', 'displayName');

You can refer to Retrieval-augmented generation for a general discussion on indexers and retrievers.