المكوّن الإضافي Chroma

يوفر المكوّن الإضافي Chroma عمليات تنفيذ لكل من أداة الفهرسة والاسترداد التي تستخدم قاعدة بيانات متّجه 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 على الجهاز نفسه عليك تحديد خيارات المصادقة، وإلا بتشغيل تهيئة افتراضية لخادم Chroma، يمكنك تحديد عنصر واحد (ChromaClientParams) لتمريرها إلى عميل Chroma:

    clientParams: {
      path: "http://192.168.10.42:8000",
    }
    
  • embedderOptions: استخدِم هذه المَعلمة لتمرير الخيارات إلى أداة التضمين:

    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 });

يمكنك الاطّلاع على صفحة الجيل المعزَّز من الاسترجاع للحصول على معلومات عامة. والمناقشة حول المفهرسين والمستردين.