Plugin Pinecone

Plugin Pinecone menyediakan implementasi pengindeksan dan pengambilan yang menggunakan database vektor cloud Pinecone.

Penginstalan

npm i --save genkitx-pinecone

Konfigurasi

Untuk menggunakan plugin ini, tentukan saat Anda menginisialisasi Genkit:

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

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

Anda harus menentukan ID indeks Pinecone dan model penyematan yang ingin Anda gunakan.

Selain itu, Anda harus mengonfigurasi Genkit dengan kunci API Pinecone Anda. Ada dua cara untuk melakukannya:

  • Menetapkan variabel lingkungan PINECONE_API_KEY.
  • Tentukan di parameter opsional clientParams:

    clientParams: {
      apiKey: ...,
    }
    

    Nilai parameter ini adalah objek PineconeConfiguration, yang diteruskan ke klien Pinecone; Anda dapat menggunakannya untuk meneruskan parameter apa pun yang didukung klien.

Penggunaan

Impor referensi retriever dan pengindeksan seperti ini:

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

Kemudian, gunakan referensi ini dengan ai.retrieve() dan 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 });

Lihat halaman Retrieval-augmented generation untuk mengetahui diskusi umum tentang indexer dan retriever.