Plug-in Pinecone

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.