Wtyczka Chroma udostępnia implementacje indeksatora i wyszukiwarki, które korzystają z bazy danych wektorów Chroma w trybie klient-serwer.
Instalacja
npm i --save genkitx-chromadb
Konfiguracja
Aby użyć tej wtyczki, określ ją podczas inicjowania Genkit:
import { genkit } from 'genkit';
import { chroma } from 'genkitx-chromadb';
const ai = genkit({
plugins: [
chroma([
{
collectionName: 'bob_collection',
embedder: textEmbedding004,
},
]),
],
});
Musisz określić kolekcję Chroma i model wektora dystrybucyjnego, którego chcesz użyć. Dodatkowo dostępne są 2 parametry opcjonalne:
clientParams
: jeśli serwer Chroma nie działa na tym samym komputerze co proces Genkit, musisz określić opcje uwierzytelniania. Jeśli nie używasz domyślnej konfiguracji serwera Chroma, możesz podać ChromaChromaClientParams object
, aby przekazać go klientowi Chroma:clientParams: { path: "http://192.168.10.42:8000", }
embedderOptions
: użyj tego parametru, aby przekazać opcje do umieszczającego:embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
Wykorzystanie
Zaimportuj odwołania do pobierania i indeksowania w ten sposób:
import { chromaRetrieverRef } from 'genkitx-chromadb';
import { chromaIndexerRef } from 'genkitx-chromadb';
Następnie użyj odwołań z użyciem ai.retrieve()
i 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 });
Aby dowiedzieć się więcej o indeksowaniu i wyszukiwaniu, zapoznaj się ze stroną generowanie z wykorzystaniem wyszukiwania.