Complemento Pinecone

El complemento Pinecone proporciona implementaciones de indexador y recuperador que usan la base de datos de vectores en la nube de Pinecone.

Instalación

npm i --save genkitx-pinecone

Configuración

Para usar este complemento, especifícalo cuando llames a configureGenkit():

import { pinecone } from 'genkitx-pinecone';

export default configureGenkit({
  plugins: [
    pinecone([
      {
        indexId: 'bob-facts',
        embedder: textEmbeddingGecko,
      },
    ]),
  ],
  // ...
});

Debes especificar un ID de índice de Pinecone y el modelo de incorporación que quieres usar.

Además, debes configurar Genkit con tu clave de API de Pinecone. Existen dos maneras de hacerlo:

  • Configura la variable de entorno PINECONE_API_KEY.

  • Especifícalo en el parámetro opcional clientParams:

    clientParams: {
      apiKey: ...,
    }
    

    El valor de este parámetro es un objeto PineconeConfiguration, que obtiene pasan al cliente de Pinecone; puedes usarlo para pasar cualquier parámetro al cliente admite.

Uso

Importa referencias de indizador y retriever de la siguiente manera:

import { pineconeRetrieverRef } from 'genkitx-pinecone';
import { pineconeIndexerRef } from 'genkitx-pinecone';

Luego, pasa las referencias a retrieve() y index():

// To use the index you configured when you loaded the plugin:
let docs = await retrieve({ retriever: pineconeRetrieverRef, query });

// To specify an index:
export const bobFactsRetriever = pineconeRetrieverRef({
  indexId: 'bob-facts',
});
docs = await retrieve({ retriever: bobFactsRetriever, query });
// To use the index you configured when you loaded the plugin:
await index({ indexer: pineconeIndexerRef, documents });

// To specify an index:
export const bobFactsIndexer = pineconeIndexerRef({
  indexId: 'bob-facts',
});
await index({ indexer: bobFactsIndexer, documents });

Consulta la página de generación aumentada de recuperación para ver un panorama general sobre los indexadores y los retrievers.