Chroma プラグインは、 クライアント/サーバーモードの Chroma ベクトル データベース。
インストール
npm i --save genkitx-chromadb
構成
このプラグインを使用するには、configureGenkit()
を呼び出すときに指定します。
import { chroma } from 'genkitx-chromadb';
export default configureGenkit({
plugins: [
chroma([
{
collectionName: 'bob_collection',
embedder: textEmbeddingGecko,
},
]),
],
// ...
});
Chroma コレクションと使用するエンベディング モデルを指定する必要があります。イン さらに、次の 2 つの省略可能なパラメータがあります。
clientParams
: 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 });
一般的な言語については、検索拡張生成のページをご覧ください。 インデクサとリトリーバーに関するディスカッションです。