Pinecone-Plug-in

Das Pinecone-Plug-in bietet Indexierungs- und Abrufimplementierungen, die die Cloud-Vektordatenbank Pinecone verwenden.

Installation

npm i --save genkitx-pinecone

Konfiguration

Wenn Sie dieses Plug-in verwenden möchten, geben Sie es an, wenn Sie Genkit initialisieren:

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

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

Sie müssen eine Pinecone-Index-ID und das gewünschte Einbettungsmodell angeben.

Außerdem müssen Sie Genkit mit Ihrem Pinecone API-Schlüssel konfigurieren. Dazu gibt es zwei Möglichkeiten:

  • Legen Sie die Umgebungsvariable PINECONE_API_KEY fest.
  • Geben Sie ihn im optionalen Parameter clientParams an:

    clientParams: {
      apiKey: ...,
    }
    

    Der Wert dieses Parameters ist ein PineconeConfiguration-Objekt, das an den Pinecone-Client übergeben wird. Sie können damit beliebige vom Client unterstützte Parameter übergeben.

Nutzung

Importieren Sie Abruf- und Indexierungsreferenzen so:

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

Verwenden Sie dann diese Verweise mit ai.retrieve() und 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 });

Allgemeine Informationen zu Indexern und Retrievern finden Sie auf der Seite Retrieval-Augmented Generation.