Skip to main content

genkitx-milvus

Firebase Genkit - Milvus Plugin

Milvus Community Plugin for Google Firebase Genkit

Github lerna versionNPM DownloadsGitHub Org's starsGitHub LicenseStatic Badge
GitHub Issues or Pull RequestsGitHub Issues or Pull RequestsGitHub commit activity

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 call configureGenkit():

import { milvus } from 'genkitx-milvus';

export default configureGenkit({
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, pass the references to retrieve() and index():

// To use the index you configured when you loaded the plugin:
let docs = await retrieve({ retriever: milvusRetrieverRef, query });

// To specify an index:
export const customRetriever = milvusRetrieverRef({
collectionName: 'collection_01',
});
docs = await retrieve({ retriever: customRetriever, query });
// To use the index you configured when you loaded the plugin:
await index({ indexer: milvusIndexerRef, documents });

// To specify an index:
export const customIndexer = milvusIndexerRef({
collectionName: 'collection_01',
});
await index({ indexer: customIndexer, documents });

Contributing​

Want to contribute to the project? That's awesome! Head over to our Contribution Guidelines.

Need support?​

info

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.