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