Skip to content

Latest commit

 

History

History
123 lines (88 loc) · 3.95 KB

README.md

File metadata and controls

123 lines (88 loc) · 3.95 KB

Firebase Genkit <> Milvus Plugin

Milvus Community Plugin for Google Firebase Genkit

Github lerna version NPM Downloads GitHub Org's stars GitHub License Static Badge
GitHub Issues or Pull Requests GitHub Issues or Pull Requests GitHub 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?

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.