এম্বেডিং ভেক্টর কোনও ধরনের উপাত্ত ডেটা প্রতিনিধিত্ব করার জন্য শৈলী প্রীতি শৈলী মেশিন শৈলীর মূল উপাদান। এগুলি পাঠ্য, চিত্র, ছবি, এবং অডিও এবং ভিডিও প্রতিনিধিত্ব করতে পারে। ডেটা প্রতিনিধিত্ব করার একইসময়ে অনেক হিসাবে, মোক্ষিত পাঠ্য মডেলগুলি ব্যবহার করা বা কিছু মেঘসোয়ে সেবা API ব্যবহার করা হয়, যেমন, openai API।
ক্রোমা জনসাধারণের জন্য প্রসিপ্ট হওয়ার বিবরণকে ব্যবহার করে প্রসিপ্টটির খোঁজাবাপ বানার জন্য মাস্তার বদি সরবরাহ করে ক্রোমা প্রস্তুত রেখেছে।
ট্রান্সফর্মার্স.js
ট্রান্সফর্মারস.js ব্যবহার করে মেশিনী লোকালি চালাতে পারেন যেকোনো ক্রোমা কর্মী, যেটি এম্বেডিং ভেক্টর তৈরি করতে ব্যবহার করে। ট্রান্সফর্মার্সটি "Xenova/all-MiniLM-L6-v2" মডেলটি ব্যবহার করে। এটি চালাতে প্রয়োজন হলে, টার্মিনালে এটি ইনস্টল করুন npm install @xenova/transformers
।
const {ChromaClient} = require('chromadb');
const client = new ChromaClient({path: "http://localhost:8000"});
const {TransformersEmbeddingFunction} = require('chromadb');
const embedder = new TransformersEmbeddingFunction();
(async () => {
// এম্বেডিং ফাংশনটি প্যারামিটার দ্বারা ব্যবহার করতে বোধগম্য করার জন্য এম্বেডিং ফাংশনটি নির্দিষ্ট করুন
const collection = await client.getOrCreateCollection({name: "name", embeddingFunction: embedder})
// ভেক্টরগুলি নির্দিষ্ট করা না করে ডেটা যোগ করুন; অড ফাংশন এম্বেডিং ফাংশন ফাংশনটি ভেক্টর গণনা করার জন্য অড ফাংশনটি কল করবে
await collection.add({
ids: ["id1", "id2", "id3"],
metadatas: [{"chapter": "3", "verse": "16"}, {"chapter": "3", "verse": "5"}, {"chapter": "29", "verse": "11"}],
documents: ["lorem ipsum...", "doc2", "doc3"],
})
// ডাটা কুয়েরি, যা যেটি এম্বেডিং ফাংশন ফাংশনটি কে ভেক্টর গণনা করতে মঙ্গল করবে এবং তারপরে পোকা জন্য খোজা করবে
const results = await collection.query({
nResults: 2,
queryTexts: ["lorem ipsum"]
})
})();
ওপেনএই
ক্রোমা একটি সুবিধাজনক প্রসিপ্ট সরযগ সরযগ করে ওপেনএই এর এম্বেডিং মডেল এপিআই খোজাবাপের জন্য। ওপেনএই এপিআইতে কল করার জন্য, আপনার প্রাপ্ত করতে হবে একটি এপিআই পার্শ্বকী জনার অনুমতি প্রাপ্ত করার জন্য নিচে উপযুক্ত পরিচিতি নিবেন।
const {OpenAIEmbeddingFunction} = require('chromadb');
const embedder = new OpenAIEmbeddingFunction({openai_api_key: "apiKey"})
// সরাসরি ব্যবহার করুন
const embeddings = embedder.generate(["document1","document2"])
// অড ফাংশন ব্যবহার করা হলে এম্বেডিং ফাংশন ফাংশনটি নির্দিষ্ট করার জন্য এক্সো প্যারামিটার ব্যবহার করুন
const collection = await client.createCollection({name: "name", embeddingFunction: embedder})
const collection = await client.getCollection({name: "name", embeddingFunction: embedder})
আপনি ঐ্যাক্সে এম্বেডিং মডেল ব্যবহার করার জন্য এবং পরিশিষ্ট ফাংশনগুলি ধাক করন তবে আপনি আপনার নিজের পছন্দসমূহের অধীনে এম্বেডিং ফাংশনগুলি ধাক করতে পারেন।
লক্ষণীয়: কাস্টম এম্বেডিং ফাংশনগুলি প্রয়োজন নেই, কারণ আপনি নিজের এম্বেডিং মডেল ব্যবহার করে পূর্ববর্তীভাবে ভেক্টর গণনা করতে পারেন এবং এরপর বেক্টরগুলি ব্যবহার করে চারোওবাপ লেখাপাড় পড়া উপাত্ত করাতে পারেন।
class MyEmbeddingFunction {
private api_key: string;
constructor(api_key: string) {
this.api_key = api_key;
}
public async generate(texts: string[]): Promise<number[][]> {
// আপনার নিজের মডেলটি কল করতে ভেক্টর গণনা করুন
return embeddings;
}
}