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.