Plugin Chroma menyediakan implementasi pengindeksan dan pengambilan yang menggunakan database vektor Chroma dalam mode klien/server.
Penginstalan
npm i --save genkitx-chromadb
Konfigurasi
Untuk menggunakan plugin ini, tentukan saat Anda menginisialisasi Genkit:
import { genkit } from 'genkit';
import { chroma } from 'genkitx-chromadb';
const ai = genkit({
plugins: [
chroma([
{
collectionName: 'bob_collection',
embedder: textEmbedding004,
},
]),
],
});
Anda harus menentukan koleksi Chroma dan model penyematan yang ingin digunakan. Selain itu, ada dua parameter opsional:
clientParams
: Jika tidak menjalankan server Chroma di komputer yang sama dengan alur Genkit, Anda harus menentukan opsi autentikasi, atau jika tidak menjalankan konfigurasi server Chroma default, Anda dapat menentukanChromaClientParams object
Chroma untuk diteruskan ke klien Chroma:clientParams: { path: "http://192.168.10.42:8000", }
embedderOptions
: Gunakan parameter ini untuk meneruskan opsi ke penyempan:embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
Penggunaan
Impor referensi retriever dan pengindeksan seperti ini:
import { chromaRetrieverRef } from 'genkitx-chromadb';
import { chromaIndexerRef } from 'genkitx-chromadb';
Kemudian, gunakan referensi dengan ai.retrieve()
dan ai.index()
:
// To use the index you configured when you loaded the plugin:
let docs = await ai.retrieve({ retriever: chromaRetrieverRef, query });
// To specify an index:
export const bobFactsRetriever = chromaRetrieverRef({
collectionName: 'bob-facts',
});
docs = await ai.retrieve({ retriever: bobFactsRetriever, query });
// To use the index you configured when you loaded the plugin:
await ai.index({ indexer: chromaIndexerRef, documents });
// To specify an index:
export const bobFactsIndexer = chromaIndexerRef({
collectionName: 'bob-facts',
});
await ai.index({ indexer: bobFactsIndexer, documents });
Lihat halaman Retrieval-augmented generation untuk mengetahui diskusi umum tentang indexer dan retriever.