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。您可以通过以下两种方式执行此操作:

  • 设置 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 });

如需大致了解索引器和检索器,请参阅检索增强生成页面。