Das Chroma-Plug-in bietet Indexierungs- und Abrufimplementierungen, die die Chroma-Vektordatenbank im Client/Server-Modus verwenden.
Installation
npm i --save genkitx-chromadb
Konfiguration
Geben Sie dieses Plug-in an, wenn Sie configureGenkit()
aufrufen, um es zu verwenden:
import { chroma } from 'genkitx-chromadb';
export default configureGenkit({
plugins: [
chroma([
{
collectionName: 'bob_collection',
embedder: textEmbeddingGecko,
},
]),
],
// ...
});
Sie müssen eine Chroma-Sammlung und das Einbettungsmodell angeben, das Sie verwenden möchten. 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 ein Chroma-ChromaClientParams
-Objekt angeben, das an den Chroma-Client übergeben wird:clientParams: { path: "http://192.168.10.42:8000", }
embedderOptions
: Verwenden Sie diesen Parameter, um Optionen an den Einbettungscode zu übergeben:embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
Nutzung
Importieren Sie Retriever- und Indexierungsreferenzen wie folgt:
import { chromaRetrieverRef } from 'genkitx-chromadb';
import { chromaIndexerRef } from 'genkitx-chromadb';
Übergeben Sie dann die Verweise auf retrieve()
und 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 });
Auf der Seite Retrieval Augmented Generation finden Sie eine allgemeine Diskussion zu Indexern und Retrievern.