Plug-in Pinecone

Il plug-in Pinecone fornisce implementazioni di indicizzatori e retriever che utilizzano il database di vettori cloud di Pinecone.

Installazione

npm i --save genkitx-pinecone

Configurazione

Per utilizzare questo plug-in, specificalo quando avvii Genkit:

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

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

Devi specificare un ID indice Pinecone e il modello di embedding che vuoi utilizzare.

Inoltre, devi configurare Genkit con la tua chiave API Pinecone. Puoi farlo in due modi:

  • Imposta la variabile di ambiente PINECONE_API_KEY.
  • Specificalo nel parametro facoltativo clientParams:

    clientParams: {
      apiKey: ...,
    }
    

    Il valore di questo parametro è un oggetto PineconeConfiguration, che viene passato al client Pinecone. Puoi utilizzarlo per passare qualsiasi parametro supportato dal client.

Utilizzo

Importa i riferimenti del recuperatore e dell'indice come segue:

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

Poi utilizza questi riferimenti con 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 });

Consulta la pagina Retrieval Augmented Generation (RAG) per una discussione generale su indicizzatori e retriever.