O plug-in Pinecone fornece implementações de indexador e retriever que usam o banco de dados de vetores de nuvem Pinecone.
Instalação
npm i --save genkitx-pinecone
Configuração
Para usar esse plug-in, especifique-o ao inicializar o Genkit:
import { genkit } from 'genkit';
import { pinecone } from 'genkitx-pinecone';
const ai = genkit({
plugins: [
pinecone([
{
indexId: 'bob-facts',
embedder: textEmbedding004,
},
]),
],
});
É necessário especificar um ID de índice da Pinecone e o modelo de embedding que você quer usar.
Além disso, você precisa configurar o Genkit com sua chave de API Pinecone. Há duas maneiras de fazer isso:
- Defina a variável de ambiente
PINECONE_API_KEY
. Especifique no parâmetro opcional
clientParams
:clientParams: { apiKey: ..., }
O valor desse parâmetro é um objeto
PineconeConfiguration
, que é transmitido ao cliente da Pinecone. Você pode usá-lo para transmitir qualquer parâmetro compatível com o cliente.
Uso
Importe as referências do retriever e do indexador desta forma:
import { pineconeRetrieverRef } from 'genkitx-pinecone';
import { pineconeIndexerRef } from 'genkitx-pinecone';
Em seguida, use estas referências com ai.retrieve()
e 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 });
Consulte a página Geração aumentada de recuperação para conferir discussão geral sobre indexadores e recuperadores.