Chroma 外掛程式提供索引器和擷取器實作項目,可在用戶端/伺服器模式下使用 Chroma 向量資料庫。
安裝
npm i --save genkitx-chromadb
設定
如要使用這個外掛程式,請在初始化 Genkit 時指定它:
import { genkit } from 'genkit';
import { chroma } from 'genkitx-chromadb';
const ai = genkit({
plugins: [
chroma([
{
collectionName: 'bob_collection',
embedder: textEmbedding004,
},
]),
],
});
您必須指定 Chroma 集合和要使用的嵌入模型。此外,還有兩個選用參數:
clientParams
:如果您未在 Genkit 流程中執行 Chroma 伺服器,則需要指定驗證選項;如果您未執行預設 Chroma 伺服器設定,則可以指定 ChromaChromaClientParams object
,以便傳遞至 Chroma 用戶端:clientParams: { path: "http://192.168.10.42:8000", }
embedderOptions
:使用這個參數將選項傳遞給內嵌程式:embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
用量
匯入擷取器和索引器參照,如下所示:
import { chromaRetrieverRef } from 'genkitx-chromadb';
import { chromaIndexerRef } from 'genkitx-chromadb';
然後,請使用參照資料搭配 ai.retrieve()
和 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 });
如要進一步瞭解索引器和擷取器,請參閱「擷取輔助產生」頁面。