Chroma-Plug-in

Das Chroma-Plug-in bietet Indexierungs- und Abrufimplementierungen, die die Chroma-Vektordatenbank im Client/Server-Modus verwenden.

Installation

npm i --save genkitx-chromadb

Konfiguration

Wenn Sie dieses Plug-in verwenden möchten, geben Sie es an, wenn Sie Genkit initialisieren:

import { genkit } from 'genkit';
import { chroma } from 'genkitx-chromadb';

const ai = genkit({
  plugins: [
    chroma([
      {
        collectionName: 'bob_collection',
        embedder: textEmbedding004,
      },
    ]),
  ],
});

Sie müssen eine Chroma-Sammlung und das gewünschte Einbettungsmodell angeben. Außerdem gibt es zwei optionale Parameter:

  • clientParams: Wenn du deinen Chroma-Server nicht auf demselben Computer wie deinen Genkit-Flow ausführst, musst du Authentifizierungsoptionen angeben. Wenn du anderweitig keine Standardkonfiguration für den Chroma-Server ausführst, kannst du eine Chroma-ChromaClientParams object angeben, die an den Chroma-Client übergeben wird:

    clientParams: {
      path: "http://192.168.10.42:8000",
    }
    
  • embedderOptions: Mit diesem Parameter kannst du dem Einbettungstool Optionen übergeben:

    embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
    

Nutzung

Importieren Sie Abruf- und Indexierungsreferenzen so:

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

Verwenden Sie dann die Verweise mit ai.retrieve() und ai.index():

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

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

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

Allgemeine Informationen zu Indexern und Retrievern finden Sie auf der Seite Retrieval-Augmented Generation.