Pinecone プラグイン

Pinecone プラグインは、Pinecone クラウド ベクトル データベースを使用するインデクサーとリトリーバーの実装を提供します。

インストール

npm i --save genkitx-pinecone

構成

このプラグインを使用するには、Genkit の初期化時に指定します。

import { genkit } from 'genkit';
import { pinecone } from 'genkitx-pinecone';

const ai = genkit({
  plugins: [
    pinecone([
      {
        indexId: 'bob-facts',
        embedder: textEmbedding004,
      },
    ]),
  ],
});

Pinecone インデックス ID と使用するエンベディング モデルを指定する必要があります。

また、Pinecone API キーを使用して Genkit を構成する必要があります。これには、次の 2 つの方法があります。

  • PINECONE_API_KEY 環境変数を設定する。
  • clientParams オプション パラメータで指定します。

    clientParams: {
      apiKey: ...,
    }
    

    このパラメータの値は PineconeConfiguration オブジェクトで、Pinecone クライアントに渡されます。このオブジェクトを使用して、クライアントがサポートする任意のパラメータを渡すことができます。

用途

次のように、取得ツールとインデックス エンジンの参照をインポートします。

import { pineconeRetrieverRef } from 'genkitx-pinecone';
import { pineconeIndexerRef } from 'genkitx-pinecone';

次に、これらの参照を ai.retrieve()ai.index() で使用します。

// To use the index you configured when you loaded the plugin:
let docs = await ai.retrieve({ retriever: pineconeRetrieverRef, query });

// To specify an index:
export const bobFactsRetriever = pineconeRetrieverRef({
  indexId: 'bob-facts',
});
docs = await ai.retrieve({ retriever: bobFactsRetriever, query });
// To use the index you configured when you loaded the plugin:
await ai.index({ indexer: pineconeIndexerRef, documents });

// To specify an index:
export const bobFactsIndexer = pineconeIndexerRef({
  indexId: 'bob-facts',
});
await ai.index({ indexer: bobFactsIndexer, documents });

インデクサーとリトリーバーの一般的な説明については、検索拡張生成のページをご覧ください。