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.