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 });
如需大致了解索引器和检索器,请参阅检索增强生成页面。