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 });
インデクサーとリトリーバーの一般的な説明については、検索拡張生成のページをご覧ください。