افزونه 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:clientParams: { path: "http://192.168.10.42:8000", }
embedderOptions
: از این پارامتر برای ارسال گزینه ها به embedder استفاده کنید: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 });
برای بحث کلی در مورد نمایه سازها و رتریورها به صفحه نسل افزوده شده بازیابی مراجعه کنید.