প্রকল্প সম্পর্কে
Milvus হলো Go এবং C++ এ লেখা একটি ডিস্ট্রিবিউটেড ভেক্টর ডাটাবেস যা টেক্সট, ছবি এবং মাল্টি-মোডাল ইনফরমেশনসহ বিশাল পরিমাণ অসংগঠিত ডাটার দক্ষ সংগঠন এবং সার্চিং সক্ষম করে। এটি উচ্চ স্কেলেবিলিটি এবং অ্যাভেইলেবিলিটির জন্য ডিজাইন করা হয়েছে, যা একটি K8s-নেটিভ আর্কিটেকচার ব্যবহার করে যেখানে কম্পিউট এবং স্টোরেজ আলাদা করা থাকে যাতে স্বাধীনভাবে হরিজন্টাল স্কেলিং করা সম্ভব হয়।
এর মূল সক্ষমতাগুলোর মধ্যে রয়েছে:
- ভেক্টর সার্চ এবং ইনডেক্সিং: এটি HNSW, IVF, FLAT, SCANN এবং DiskANN-এর মতো একাধিক ইনডেক্স টাইপ সমর্থন করে, এবং CPU ও GPU (NVIDIA CAGRA সহ) উভয়ের জন্য হার্ডওয়্যার এক্সিলারেশন প্রদান করে।
- হাইব্রিড সার্চ: এটি সিমেন্টিক সার্চের জন্য ডেন্স ভেক্টর এবং ফুল-টেক্সট সার্চের (BM25, SPLADE, BGE-M3) জন্য স্পার্স ভেক্টর নেটিভলি সমর্থন করে, যা রির্যাঙ্কড হাইব্রিড রেজাল্ট প্রদান করতে সক্ষম।
- ডাটা ম্যানেজমেন্ট: এতে মাল্টি-টেন্যান্সি আইসোলেশন, খরচ কমানোর জন্য হট/কোল্ড স্টোরেজ মেকানিজম এবং মেটাডাটা ফিল্টারিংয়ের জন্য স্কেলার ডাটা টাইপ (ইনটিজার, স্ট্রিং, JSON) সমর্থন রয়েছে।
- নিরাপত্তা: এটি বাধ্যতামূলক ইউজার অথেন্টিকেশন, TLS এনক্রিপশন এবং Role-Based Access Control (RBAC) বাস্তবায়ন করে।
- ডেপ্লয়মেন্ট অপশন: এটি একটি ডিস্ট্রিবিউটেড ক্লাস্টার, একটি স্ট্যান্ডঅ্যালোন Docker ডেপ্লয়মেন্ট অথবা একটি লাইটওয়েট পাইথন ভার্সন (Milvus Lite) হিসেবে উপলব্ধ।
Milvus জনপ্রিয় AI ফ্রেমওয়ার্ক যেমন LangChain, LlamaIndex, OpenAI এবং HuggingFace-এর সাথে ইন্টিগ্রেট করে এবং ডাটা ইনজেশন ও কুয়েরির জন্য একটি পাইথন SDK (pymilvus) প্রদান করে।