JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10
  • Score
    100M100P100Q51710F
  • License Apache-2.0

Genkit AI framework plugin for the Qdrant vector database.

Package Exports

  • genkitx-qdrant

Readme

Qdrant plugin

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 the references to retrieve() and index():

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

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