Chroma eklentisi, istemci/sunucu modunda Chroma vektör veritabanını kullanan dizine ekleme ve alma uygulamaları sağlar.
Kurulum
npm i --save genkitx-chromadb
Yapılandırma
Bu eklentiyi kullanmak için Genkit'i ilk kez başlattığınızda belirtin:
import { genkit } from 'genkit';
import { chroma } from 'genkitx-chromadb';
const ai = genkit({
plugins: [
chroma([
{
collectionName: 'bob_collection',
embedder: textEmbedding004,
},
]),
],
});
Bir Chroma koleksiyonu ve kullanmak istediğiniz yerleştirme modelini belirtmeniz gerekir. Ayrıca iki isteğe bağlı parametre vardır:
clientParams
: Chroma sunucunuzu Genkit akışınızla aynı makinede çalıştırıyorsanız kimlik doğrulama seçeneklerini belirtmeniz gerekir. Aksi takdirde, varsayılan bir Chroma sunucu yapılandırması çalıştırıyorsanız Chroma istemciye iletilecek bir ChromaChromaClientParams object
belirtebilirsiniz:clientParams: { path: "http://192.168.10.42:8000", }
embedderOptions
: Seçenekleri yerleştiriciye iletmek için bu parametreyi kullanın:embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
Kullanım
Aktarıcı ve dizine ekleyen referanslarını aşağıdaki gibi içe aktarın:
import { chromaRetrieverRef } from 'genkitx-chromadb';
import { chromaIndexerRef } from 'genkitx-chromadb';
Ardından, ai.retrieve()
ve ai.index()
ile referansları kullanın:
// 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 });
Dizine ekleyenler ve alıcılarla ilgili genel bir tartışma için Alımla desteklenen oluşturma sayfasına bakın.