Chroma 外掛程式

Chroma 外掛程式提供的索引和擷取器實作項目會使用 在用戶端/伺服器模式下的 Chroma 向量資料庫。

安裝

npm i --save genkitx-chromadb

設定

如要使用這個外掛程式,請在呼叫 configureGenkit() 時指定:

import { chroma } from 'genkitx-chromadb';

export default configureGenkit({
  plugins: [
    chroma([
      {
        collectionName: 'bob_collection',
        embedder: textEmbeddingGecko,
      },
    ]),
  ],
  // ...
});

您必須指定 Chroma 集合和要使用的嵌入模型。於 此外,還有兩個選用參數:

  • clientParams:如果您不在同一部機器上執行 Chroma 伺服器 視為 Genkit 流程,就必須指定驗證選項,否則 執行預設的 Chroma 伺服器設定時,您可以指定 Chroma 中的 ChromaClientParams 物件 會傳遞給 Chroma 用戶端:

    clientParams: {
      path: "http://192.168.10.42:8000",
    }
    
  • embedderOptions:使用此參數將選項傳遞至嵌入程式:

    embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
    

用量

匯入擷取器和索引器參照,如下所示:

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

然後,將參照傳遞至 retrieve()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 });

如需一般資訊,請參閱擷取評估產生頁面 針對索引和擷取器進行討論