Firebase Genkit <> Milvus Plugin
genkitx-milvus
is a community plugin for using Milvus Vector Database with
Firebase Genkit. Built by The Fire Company. 🔥
Installation
Install the plugin in your project with your favorite package manager:
npm install genkitx-milvus
yarn add genkitx-milvus
pnpm add genkitx-milvus
Usage
Initialize
To use this plugin, specify it when you initialize Genkit:
import { genkit } from 'genkit';
import { milvus } from 'genkitx-milvus';
export default genkit({
plugins: [
milvus([
{
collectionName: 'collection_01',
embedder: textEmbeddingGecko,
},
]),
],
});
You must specify a Milvus collection and the embedding model you want to use. In
addition, there are three optional parameters:
-
dbName
: Specified database
-
clientParams
: If you're not running your Milvus server on the same machine
as your Genkit flow, you need to specify auth options, or you're otherwise not
running a default Milvus server configuration, you can specify Milvus client connection parameters: address and token.
clientParams: {
address: "",
token: "",
}
-
embedderOptions
: Use this parameter to pass options to the embedder:
embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
Basic Examples
Import retriever and indexer references like so:
import { milvusRetrieverRef, milvusIndexerRef } from 'genkitx-milvus';
Then, use the references with ai.retrieve()
and ai.index()
:
let docs = await ai.retrieve({ retriever: milvusRetrieverRef, query });
export const customRetriever = milvusRetrieverRef({
collectionName: 'collection_01',
});
docs = await ai.retrieve({ retriever: customRetriever, query });
await ai.index({ indexer: milvusIndexerRef, documents });
export const customIndexer = milvusIndexerRef({
collectionName: 'collection_01',
});
await ai.index({ indexer: customIndexer, documents });
Contributing
Want to contribute to the project? That's awesome! Head over to our Contribution Guidelines.
Need support?
[!NOTE]
This repository depends on Google's Firebase Genkit. For issues and questions related to Genkit, please refer to instructions available in Genkit's repository.
Reach out by opening a discussion on Github Discussions.
Credits
This plugin is proudly maintained by the team at The Fire Company. 🔥
License
This project is licensed under the Apache 2.0 License.