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.