Plug-in Chroma

Le plug-in Chroma fournit des implémentations d'indexeur et de récupération qui utilisent le Base de données vectorielle Chroma en mode client/serveur

Installation

npm i --save genkitx-chromadb

Configuration

Pour utiliser ce plug-in, spécifiez-le lorsque vous appelez configureGenkit() :

import { chroma } from 'genkitx-chromadb';

export default configureGenkit({
  plugins: [
    chroma([
      {
        collectionName: 'bob_collection',
        embedder: textEmbeddingGecko,
      },
    ]),
  ],
  // ...
});

Vous devez spécifier une collection Chroma et le modèle de représentation vectorielle continue que vous souhaitez utiliser. Dans deux paramètres facultatifs sont également disponibles:

  • clientParams : si vous n'exécutez pas votre serveur Chroma sur la même machine que votre flux Genkit, vous devez spécifier des options d'authentification. Si vous n'exécutez pas non plus une configuration de serveur Chroma par défaut, vous pouvez spécifier un objet ChromaClientParams Chroma à transmettre au client Chroma :

    clientParams: {
      path: "http://192.168.10.42:8000",
    }
    
  • embedderOptions: utilisez ce paramètre pour transmettre des options à l'intégrateur:

    embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
    

Utilisation

Importez les références du récupérateur et de l'indexeur comme suit :

import { chromaRetrieverRef } from 'genkitx-chromadb';
import { chromaIndexerRef } from 'genkitx-chromadb';

Transmettez ensuite les références à retrieve() et index():

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

// To specify an index:
export const bobFactsRetriever = chromaRetrieverRef({
  collectionName: 'bob-facts',
});
docs = await retrieve({ retriever: bobFactsRetriever, query });
// To use the index you configured when you loaded the plugin:
await index({ indexer: chromaIndexerRef, documents });

// To specify an index:
export const bobFactsIndexer = chromaIndexerRef({
  collectionName: 'bob-facts',
});
await index({ indexer: bobFactsIndexer, documents });

Consultez la page Génération augmentée de récupération pour en savoir plus sur les indexeurs et les récupérateurs.