डेटास्टैक्स में हमारा एक लक्ष्य प्रत्येक डेवलपर को सक्षम बनाना है - चाहे वे किसी भी भाषा में निर्माण करते हों - जितनी जल्दी हो सके एआई अनुप्रयोगों को उत्पादन में वितरित करने के लिए।
हम
कैसेंड्रा सबसे शक्तिशाली, स्केलेबल और उत्पादन के लिए तैयार डेटाबेस के रूप में जाना जाता है। वेक्टर खोज के साथ, कैसेंड्रा और एस्ट्रा डीबी एंटरप्राइज़-ग्रेड जनरल एआई अनुप्रयोगों के निर्माण के लिए एक महत्वपूर्ण आधार बन गए हैं। लेकिन हमें यह भी सुनिश्चित करने की ज़रूरत है कि यह शक्तिशाली तकनीक डेवलपर्स के व्यापक समूह के लिए सुलभ और उपयोग में आसान हो, भले ही उनकी पसंदीदा भाषा या कौशल सेट कुछ भी हो।
आज हम जावास्क्रिप्ट डेवलपर्स की विशाल आबादी को एक सरल एपीआई के माध्यम से दुनिया के सबसे शक्तिशाली वेक्टर डेटाबेस तक पहुंच प्रदान करके उस दिशा में एक बड़ा कदम उठा रहे हैं: एस्ट्रा डीबी के लिए जेएसओएन एपीआई की शुरुआत।
जावास्क्रिप्ट दुनिया में, दस्तावेज़ डेटाबेस प्रमुख हैं। इसमें कोई आश्चर्य की बात नहीं है, क्योंकि JSON जावास्क्रिप्ट में एक मूल नोटेशन है, इसलिए डेटाबेस से JSON दस्तावेज़ों को संग्रहीत और पुनर्प्राप्त करने की क्षमता विकास को काफी तेज कर देती है।
नया JSON API नए AI एप्लिकेशन बनाने वाले जावास्क्रिप्ट डेवलपर्स के लिए एक सहज डेवलपर अनुभव प्रदान करने के लिए डिज़ाइन किया गया है। हमने यह सुनिश्चित करने के लिए काम किया है कि यदि आप एक जावास्क्रिप्ट डेवलपर हैं, तो आप एस्ट्रा डीबी का एक उदाहरण शुरू कर सकते हैं और उन प्रतिमानों और रूपरेखाओं का उपयोग करके तुरंत कोडिंग शुरू कर सकते हैं जिनसे आप परिचित हैं।
एस्ट्रा डीबी को दस्तावेज़ डेटाबेस के रूप में उजागर करने से डेवलपर अनुभव में कई सुधार मिलते हैं:
आप JSON ऑब्जेक्ट के संदर्भ में सोचते हैं, जो आपको जावास्क्रिप्ट पारिस्थितिकी तंत्र के साथ प्राकृतिक संरेखण प्रदान करता है।
कोई डेटा मॉडलिंग चरण नहीं है, क्योंकि इसका ध्यान डेटाबेस द्वारा ही रखा जाता है। आप बस दस्तावेज़ सहेजें और पुनः प्राप्त करें।
आप तेजी से विकास शुरू कर सकते हैं, और बैकएंड पर क्या हो रहा है इसके बजाय एप्लिकेशन लॉजिक पर ध्यान केंद्रित कर सकते हैं।
हमने यह भी देखा कि जावास्क्रिप्ट समुदाय के कई सदस्य ऑब्जेक्ट डेटा मॉडलिंग (ODM) लाइब्रेरीज़, विशेष रूप से MongooseJS के माध्यम से दस्तावेज़ डेटाबेस के साथ काम करते हैं। MongooseJS दस्तावेज़ डेटाबेस के शीर्ष पर ऑब्जेक्ट मॉडलिंग के लिए एक लोकप्रिय ढांचा है। साथ
एस्ट्रा डीबी के लिए नया JSON एपीआई MongooseJS के साथ पूरी तरह से संगत है। इसका मतलब यह है कि MongooseJS को एस्ट्रा डीबी इंस्टेंस पर इंगित करने के लिए कोड की केवल कुछ पंक्तियों की आवश्यकता होती है:
// Import MongooseJS. const mongoose = require("mongoose"); // Import the driver for Astra DB (shipped as a part of stargate.io). const { driver } = require("stargate-mongoose"); // Tell MongooseJS to use the Astra DB driver instead of the default one. mongoose.setDriver(driver); // Connect to Astra DB. await mongoose.connect(astraDbUri, { isAstra: true, });
एक बार कनेक्ट होने के बाद, आप MongooseJS API का उपयोग कर सकते हैं, और एस्ट्रा DB आपके दस्तावेज़ों को कुशल तरीके से संग्रहीत करने, उन्हें अनुक्रमित करने और आवश्यकता पड़ने पर स्केलिंग करने के भारी भार का ध्यान रखेगा।
इससे भी बेहतर, एस्ट्रा डीबी द्वारा समर्थित MongooseJS के साथ विकास करते समय, आपको एस्ट्रा डीबी वेक्टर तक पूर्ण पहुंच मिलती है, जो एकमात्र डेटाबेस है जो अल्ट्रा-लो विलंबता के साथ वितरित डेटा और स्ट्रीमिंग वर्कलोड पर एक साथ खोज और अपडेट के साथ-साथ अत्यधिक प्रासंगिक वेक्टर परिणामों के लिए डिज़ाइन किया गया है। अतिरेक समाप्त करें. परिणामस्वरूप, आपको एस्ट्रा डीबी के समृद्ध वेक्टर समर्थन और स्केलेबिलिटी के साथ, MongooseJS के उपयोग में आसानी और परिचितता मिलती है। जावास्क्रिप्ट में AI एप्लिकेशन विकसित करना इतना आसान कभी नहीं रहा!
आइए MongooseJS एप्लिकेशन के भीतर एस्ट्रा डीबी की वेक्टर खोज का उपयोग कैसे करें इसका एक सरल उदाहरण देखें। इस उदाहरण में, हम उनके टेक्स्ट विवरण और कुछ अन्य जानकारी, जैसे शीर्षक, उत्पादन वर्ष और शैली के साथ फिल्मों का एक संग्रह बनाएंगे। इसके अलावा, हम MongooseJS को निर्देश देंगे कि हम विवरण के लिए वेक्टर एम्बेडिंग संग्रहीत करना चाहते हैं। यहां बताया गया है कि मॉडल परिभाषा कैसी दिखेगी:
const Movie = mongoose.model( "Movie", new mongoose.Schema( { title: String, year: Number, genre: String, description: String, $vector: { type: [Number], validate: (vector) => vector && vector.length === 1536, }, }, { collectionOptions: { vector: { size: 1536, function: "cosine", }, }, }, ), );
MongooseJS से परिचित लोगों को यह एक विशिष्ट MongooseJS मॉडल लगेगा, दो अतिरिक्त टुकड़ों को छोड़कर जिनकी एस्ट्रा DB का ड्राइवर अनुमति देता है:
$vector field
जिसका उपयोग वेक्टर एम्बेडिंग को संग्रहीत करने के लिए किया जाता है।collectionOptions.vector
ऑब्जेक्ट जो एस्ट्रा डीबी को बताता है कि वेक्टर एम्बेडिंग फ़ील्ड को कैसे अनुक्रमित किया जाए। उपरोक्त मॉडल के साथ, आप एम्बेडिंग के साथ दस्तावेज़ सम्मिलित कर सकते हैं:
await Movie.insert({ title: "In the Border States", year: 1910, genre: "Drama", description: "In the Border States is a 1910 American drama film...",// Generate embedding for the description, // for example by invoking the OpenAI API. $vector: embedding("In the Border States is a 1910 American drama film..."), });
आपका एप्लिकेशन अब फिल्मों को उनके विवरण के आधार पर खोजने के लिए एक फ्री-फॉर्म क्वेरी दर्ज करने की कार्यक्षमता प्रदान कर सकता है। इसके लिए, आप उपयोगकर्ता की क्वेरी के लिए एम्बेडिंग उत्पन्न करने के लिए उसी मॉडल का उपयोग करेंगे, और डेटाबेस में सबसे प्रासंगिक प्रविष्टियों को खोजने के लिए एस्ट्रा डीबी की वेक्टर खोज का उपयोग करेंगे:
await Movie.find({}) .sort({ $vector: { $meta: embedding("Something funny") } }) .limit(3);
बेशक, कई मामलों में, वेक्टर खोज अपने आप में पर्याप्त नहीं है, क्योंकि आप इसे दस्तावेज़ में अन्य फ़ील्ड के आधार पर फ़िल्टरिंग के साथ जोड़ना चाह सकते हैं। उदाहरण के लिए, यहां बताया गया है कि आप पिछले उदाहरण के समान प्रासंगिक फिल्में कैसे पा सकते हैं, लेकिन केवल नाटकों को देखकर:
await Movie.find({ genre: "Drama" }) .sort({ $vector: { $meta: embedding("Criminals and detectives") } }) .limit(3);
MongooseJS और Astra DB के साथ, आप सरल CRUD संचालन तक सीमित नहीं हैं। आप वैक्टर का उपयोग करके प्रासंगिकता खोज में उनका साथ दे सकते हैं, या दोनों को शक्तिशाली हाइब्रिड खोज क्वेरी में भी जोड़ सकते हैं।
नया JSON API वर्तमान में सार्वजनिक पूर्वावलोकन में है और जो कोई भी इसे आज़माना चाहता है, उसके लिए एस्ट्रा डीबी पर उपलब्ध है। आरंभ करने के लिए इन तीन सरल चरणों का पालन करें:
एस्ट्रा डीबी पर जाएं और एक वेक्टर डेटाबेस बनाएं।
एक बार डेटाबेस सक्रिय हो जाने पर, "कनेक्ट" टैब पर स्विच करें, अपनी पसंदीदा विधि के रूप में "JSON API" चुनें और निर्देशों का पालन करें।
विकास का आनंद लें!
JSON API का उपयोग करने के तरीके के बारे में अधिक विवरण दस्तावेज़ में पाया जा सकता है।
JSON एपीआई पेश करके, हमारा दृष्टिकोण स्पष्ट है: हम चाहते हैं कि एस्ट्रा डीबी एआई एप्लिकेशन बनाने वाले जावास्क्रिप्ट डेवलपर्स के लिए पहली पसंद बने। यह तो बस शुरुआत है - आगे के सुधारों और परिवर्धन के लिए बने रहें।
प्रश्न, प्रतिक्रिया, या शायद आप भी उतने ही उत्साहित हैं जितने हम हैं? हमें [email protected] पर एक संदेश भेजें।