הפלאגין 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 });
בדף יצירה עם שיפור לאחזור מפורטת סקירה כללית על הוספת נתונים לאינדקס ועל אחזור נתונים.