افزونه کروما

افزونه Chroma پیاده سازی های نمایه ساز و بازیابی را ارائه می دهد که از پایگاه داده بردار کروما در حالت کلاینت/سرور استفاده می کنند.

نصب و راه اندازی

npm i --save genkitx-chromadb

پیکربندی

برای استفاده از این افزونه، هنگام فراخوانی configureGenkit() آن را مشخص کنید:

import { chroma } from 'genkitx-chromadb';

export default configureGenkit({
  plugins: [
    chroma([
      {
        collectionName: 'bob_collection',
        embedder: textEmbeddingGecko,
      },
    ]),
  ],
  // ...
});

باید یک مجموعه Chroma و مدل تعبیه‌ای را که می‌خواهید استفاده کنید مشخص کنید. علاوه بر این، دو پارامتر اختیاری وجود دارد:

  • clientParams : اگر سرور Chroma خود را بر روی همان دستگاهی که جریان Genkit خود را اجرا نمی کنید، باید گزینه های تأیید را مشخص کنید، یا در غیر این صورت پیکربندی پیش فرض سرور Chroma را اجرا نمی کنید، می توانید یک شی Chroma ChromaClientParams را برای ارسال به آن مشخص کنید. مشتری Chroma:

    clientParams: {
      path: "http://192.168.10.42:8000",
    }
    
  • embedderOptions : از این پارامتر برای ارسال گزینه ها به embedder استفاده کنید:

    embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
    

استفاده

منابع بازیابی و نمایه ساز را وارد کنید مانند:

import { chromaRetrieverRef } from 'genkitx-chromadb';
import { chromaIndexerRef } from 'genkitx-chromadb';

سپس، مراجع را به retrieve() و index() منتقل کنید:

// To use the index you configured when you loaded the plugin:
let docs = await retrieve({ retriever: chromaRetrieverRef, query });

// To specify an index:
export const bobFactsRetriever = chromaRetrieverRef({
  collectionName: 'bob-facts',
});
docs = await retrieve({ retriever: bobFactsRetriever, query });
// To use the index you configured when you loaded the plugin:
await index({ indexer: chromaIndexerRef, documents });

// To specify an index:
export const bobFactsIndexer = chromaIndexerRef({
  collectionName: 'bob-facts',
});
await index({ indexer: bobFactsIndexer, documents });

برای بحث کلی در مورد نمایه سازها و رتریورها به صفحه نسل افزوده شده بازیابی مراجعه کنید.