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

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

تثبيت

npm i --save genkitx-chromadb

الإعداد

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

import { genkit } from 'genkit';
import { chroma } from 'genkitx-chromadb';

const ai = genkit({
  plugins: [
    chroma([
      {
        collectionName: 'bob_collection',
        embedder: textEmbedding004,
      },
    ]),
  ],
});

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

  • clientParams: إذا لم تكن تشغّل خادم Chroma على الجهاز نفسه الذي تُجري عليه عملية Genkit، عليك تحديد خيارات المصادقة، أو إذا لم تكن تشغّل إعدادات خادم Chroma التلقائية، يمكنك تحديد ChromaClientParams object Chroma لنقله إلى برنامج Chroma العميل:

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

    embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
    

الاستخدام

استورِد إشارات المسترجع والفهرس على النحو التالي:

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

بعد ذلك، استخدِم المراجع مع ai.retrieve() وai.index():

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

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