Renk eklentisi

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 Chroma ChromaClientParams 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.