🐘 pgvector — तुमच्याकडे आधीच असलेले ग्रंथालय
Postgres extension: column type म्हणून व्हेक्टर, operator म्हणून साम्य, HNSW index समाविष्ट. तुमचा डेटा आणि तुमच्या जागा एकाच डेटाबेसमध्ये, एक backup, एक प्रवेश-मॉडेल — semantic search च्या शेजारीच SQL JOINs.
✨ कुठे चमकते
- एक प्रणाली: transactions, JOINs, तुम्ही आधीच चालवता ते backups
- filters म्हणजे फक्त WHERE clauses — L06 ची समस्या, SQL ने सोडवलेली
- HNSW सह लाखो व्हेक्टरपर्यंत ठीक
⚠️ मर्यादा
- तुम्ही Postgres चालवता (किंवा RDS ला पैसे — AWS शाळा!)
- टोकाच्या scale/latency गरजा शेवटी त्याच्या पलीकडे जातात
- व्हेक्टर सुविधा तज्ज्ञांच्या महिने मागे
🧭 निवडा जेव्हा
- तुमच्याकडे Postgres आहे आणि corpus मावतो — default उत्तर
- compliance ला डेटा एका audit केलेल्या जागी हवा
☁️ Managed — Pinecone & मित्र (भाड्याचा हॉल)
पूर्ण hosted व्हेक्टर search: तुम्ही व्हेक्टर POST करता, ते indexes, scaling, filtered ANN, replication सांभाळतात. AWS चा build-vs-rent प्रश्न (EC2 L08), 'भाड्याने' असे उत्तर.
✨ कुठे चमकते
- शून्य ops; तुम्ही चालवू इच्छिता त्यापलीकडे scale
- filtered ANN + hybrid तज्ज्ञांनी नीट केलेले
- मोठ्या N वर अंदाजे latency SLAs
⚠️ मर्यादा
- प्रत्येक query/pod ची किंमत volume वर वाढते
- तुमचा डेटा घराबाहेर जातो (करार महत्त्वाचे)
- vendor बांधिलकी; migration = सगळे पुन्हा upload
🧭 निवडा जेव्हा
- कोट्यवधी व्हेक्टर + कठोर latency + ops ची इच्छा नाही
- टीम फक्त product ची आणि बाजारात वेग महत्त्वाचा
🧪 डेव्हलपर-प्रथम — Chroma · Qdrant · Weaviate · LanceDB
प्रयोगशाळेचे बाक: pip-install किंवा एक कंटेनर, embedded किंवा server mode, AI ॲप्ससाठी बांधलेले APIs. प्रत्येकाची खासियत — Qdrant (filters/perf, Rust), Weaviate (सगळे सोबत), Chroma (prototyping DX), LanceDB (columnar, local-first).
✨ कुठे चमकते
- सर्वात जलद सुरुवात: notebook → मिनिटांत prototype
- embedded mode = server च नाही (SQLite ची ऊर्जा)
- खऱ्या प्रमाणावर self-host करता येणारे (k8s शाळेची कौशल्ये लागू ☸️)
⚠️ मर्यादा
- embedded mode पलीकडे गेल्यावर चालवायची आणखी एक प्रणाली
- परिपक्वता सुविधेनुसार बदलते — तुमचे filters + deletes तपासा
- सोपी सुरुवात scale वरचा ops कडा लपवू शकते
🧭 निवडा जेव्हा
- prototypes आणि मध्यम-प्रमाणाची products
- निवडून self-hosting, ते सांभाळण्याच्या ops कौशल्यांसह
⚙️ इंजिने — FAISS · hnswlib · ScaNN
डेटाबेस नव्हेत: धडा 04 चे indexes कमाल वेगाने राबवणाऱ्या LIBRARIES. persistence नाही, filters नाहीत, replication नाही — तुम्ही इंजिनाभोवती डेटाबेस बांधता.
✨ कुठे चमकते
- उपलब्ध सर्वात जलद कच्चे ANN; index params वर पूर्ण नियंत्रण
- संशोधन-दर्जाचे: प्रत्येक algorithm, प्रत्येक नॉब
- तुमच्या स्वतःच्या सेवेत embed करा — जादा hop नाही
⚠️ मर्यादा
- बाकी सगळे DIY: storage, deletes, filters, HA
- GPU/memory tuning तुमच्यावर
- विकत मिळणाऱ्यांपेक्षा वाईट डेटाबेस बांधणे सोपे 😄
🧭 निवडा जेव्हा
- तुम्ही infrastructure बांधता किंवा संशोधन करता
- टोकाच्या perf गरजा जिथे तयार DB कमी पडला
🔎 जुन्या साठ्याने नव्या युक्त्या शिकल्या — OpenSearch · Redis · Mongo · SQLite-vec
तुमच्या सध्याच्या search/cache/document store ला व्हेक्टर column आला. अनेकदा व्यावहारिक विजेता: एक प्रणाली कमी, keywords आधीच जिथे राहतात तिथे hybrid search.
✨ कुठे चमकते
- deployed infra, auth, backups, dashboards पुन्हा वापरा
- OpenSearch/Elastic: एकाच इंजिनात keyword+व्हेक्टर hybrid
- टीमला ते चालवणे आधीच माहीत
⚠️ मर्यादा
- व्हेक्टर सुविधा add-ons आहेत — खोली खूप बदलते
- perf ची मर्यादा तज्ज्ञांपेक्षा खाली
- दोन workloads आता एका cluster चे नशीब वाटून घेतात (गोंगाटी शेजारी)
🧭 निवडा जेव्हा
- ते आधीच चालू आहे आणि benchmarks म्हणतात ते बसते
- hybrid search महत्त्वाचे आणि तुमचे keywords तिथे राहतात
🧭 कंटाळवाणा निवड-क्रम (धडा 08 मधून)
1 Postgres आहे + corpus मावतो → pgvector · 2 prototype → embedded प्रयोगशाळा · 3 मोठे प्रमाण, ops नाही → managed · 4 मोठे प्रमाण, ops ची इच्छा → Qdrant/Weaviate self-hosted · 5 इंजिन बांधताय → FAISS · 6 ~100k व्हेक्टरखाली → loop पुरतो 😄 — आणि काहीही निवडा, embedder ची सीमा (L05) तुमचे व्हेक्टर portable ठेवते.