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

يوفّر المكوّن الإضافي Chroma إعدادات عمليات الفهرسة والاسترداد التي تستخدم قاعدة بيانات الخط المتجه Chroma في وضع العميل/الخادم.

تثبيت

npm i --save genkitx-chromadb

الإعداد

لاستخدام هذا المكوّن الإضافي، حدِّده عند استدعاء configureGenkit():

import { chroma } from 'genkitx-chromadb';

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

يجب تحديد مجموعة كروما ونموذج التضمين الذي تريد استخدامه. بالإضافة إلى ذلك، هناك معاملان اختياريتان:

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

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