Plug-in Pinecone

Le plug-in Pinecone fournit des implémentations d'indexeur et de récupérateur qui utilisent la base de données vectorielle cloud Pinecone.

Installation

npm i --save genkitx-pinecone

Configuration

Pour utiliser ce plug-in, spécifiez-le lorsque vous initialisez Genkit:

import { genkit } from 'genkit';
import { pinecone } from 'genkitx-pinecone';

const ai = genkit({
  plugins: [
    pinecone([
      {
        indexId: 'bob-facts',
        embedder: textEmbedding004,
      },
    ]),
  ],
});

Vous devez spécifier un ID d'index Pinecone et le modèle d'encapsulation que vous souhaitez utiliser.

En outre, vous devez configurer Genkit avec votre clé API Pinecone. Pour ce faire, vous disposez de deux méthodes:

  • Définissez la variable d'environnement PINECONE_API_KEY.
  • Spécifiez-le dans le paramètre facultatif clientParams:

    clientParams: {
      apiKey: ...,
    }
    

    La valeur de ce paramètre est un objet PineconeConfiguration, qui est transmis au client Pinecone. Vous pouvez l'utiliser pour transmettre n'importe quel paramètre compatible avec le client.

Utilisation

Importez les références du récupérateur et de l'indexeur comme suit:

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

Utilisez ensuite ces références avec ai.retrieve() et 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 });

Consultez la page Génération augmentée de récupération pour en savoir plus sur les indexeurs et les récupérateurs.