Chroma 外掛程式

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 伺服器設定,則可以指定 Chroma ChromaClientParams 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 });

如要進一步瞭解索引器和擷取器,請參閱「擷取輔助產生」頁面。