genkitx-qdrant
v0.0.1-alpha-rc.4
Published
Genkit AI framework plugin for the Qdrant vector database.
Downloads
7
Maintainers
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';
export default configureGenkit({
plugins: [
qdrant([
{
clientParams: {
host: 'localhost',
port: 6333,
},
collectionName: 'some-collection',
embedder: textEmbeddingGecko,
},
]),
],
// ...
});
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';
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 specify an index:
export const qdrantIndexer = qdrantIndexerRef({
collectionName: 'some-collection',
displayName: 'Some Collection indexer',
});
await index({ indexer: qdrantIndexer, documents });
// To specify a retriever:
export const qdrantRetriever = qdrantRetrieverRef({
collectionName: 'some-collection',
displayName: 'Some Collection Retriever',
});https://github.com/qdrant/qdrant-genkit
let docs = await retrieve({ retriever: qdrantRetriever, query });
You can refer to Retrieval-augmented generation for a general discussion on indexers and retrievers.