Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Redis

अपस्टैश और Vercel AI SDK का उपयोग करके एडवांस्ड AI एप्लिकेशन बनाएं

इस ब्लॉग पोस्ट में, हम उन AI एप्लिकेशन में तल्लीन करेंगे जिन्हें अपस्टैश रेडिस, अपस्टैश वेक्टर, और Vercel AI SDK का उपयोग करके बनाया जा सकता है। हम प्रत्येक टूल की अनूठी विशेषताओं और क्षमताओं का पता लगाएंगे, यह हाइलाइट करते हुए कि उन्हें शक्तिशाली और कुशल AI समाधान बनाने के लिए कैसे इंटीग्रेट किया जा सकता है। जैसे ही हम इन टूल्स की कार्यक्षमताओं की जांच करते हैं, हम उदाहरण एप्लिकेशन पर भी संक्षिप्त नज़र डालेंगे।

अपस्टैश वेक्टर

आइए पहले वेक्टर्स और वेक्टर डेटाबेस को समझें।

वेक्टर डेटाबेस विशेष डेटा स्टोरेज सिस्टम हैं जो संख्यात्मक सरणी प्रारूप में डेटा को स्टोर और रिट्रीव करने के लिए डिज़ाइन किए गए हैं, जिन्हें वेक्टर्स के रूप में जाना जाता है। ये डेटाबेस हाई-डाइमेंशनल वेक्टर्स के बड़े वॉल्यूम को कुशलतापूर्वक संभालते हैं, जिससे वे जटिल डेटा संरचनाओं को प्रबंधित करने के लिए आदर्श बन जाते हैं। वेक्टर डेटाबेस का उपयोग करने के मुख्य लाभ:

दक्षता: ये डेटाबेस हाई-डाइमेंशनल वेक्टर्स के कुशल स्टोरेज और रिट्रीवल की पेशकश करते हैं, जिससे AI एप्लिकेशन में कम्प्यूटेशनल लोड कम होता है और क्वेरी प्रतिक्रियाएं तेज़ होती हैं।

सटीकता: ऑप्टिमाइज़्ड सर्च एल्गोरिदम सुनिश्चित करते हैं कि वेक्टर डेटाबेस सबसे प्रासंगिक डेटा पॉइंट्स को सटीक रूप से ढूंढते हैं, उन सिस्टम्स के परफॉरमेंस को बढ़ाते हैं जिन्हें डेटा क्लासिफिकेशन की आवश्यकता होती है, जैसे रिकमेंडेशन इंजन और फ्रॉड डिटेक्शन सिस्टम।

रियल-टाइम प्रोसेसिंग: रियल-टाइम में डेटा प्रोसेस करने की क्षमता के साथ, वेक्टर डेटाबेस तत्काल प्रतिक्रिया की आवश्यकता वाले एप्लिकेशन के लिए आदर्श हैं, जैसे चैटबॉट्स और रियल-टाइम एनालिटिक्स।

AI में वेक्टर्स आमतौर पर ऑब्जेक्ट्स के एम्बेडिंग-बेस्ड मॉडल को दर्शाते हैं जो एप्लिकेशन के संदर्भ में आवश्यक सुविधाओं या विशेषताओं को कैप्चर करते हैं। उदाहरण के लिए, नेचुरल लैंग्वेज प्रोसेसिंग-आधारित AI एप्लिकेशन में, एक वेक्टर दिए गए टेक्स्ट, स्पीच या डॉक्यूमेंट की सेमेंटिक्स को दर्शा सकता है। इमेज प्रोसेसिंग-आधारित एप्लिकेशन में, वेक्टर्स दिए गए इमेज की विशेषताओं को दर्शाते हैं।

अब, आइए अपस्टैश वेक्टर में गहराई से जाएं।

अपस्टैश वेक्टर एक सर्वरलेस वेक्टर डेटाबेस है जो वेक्टर समानता खोज एल्गोरिदम के रूप में DiskANN का उपयोग करता है जिसमें 3 प्रकार के समानता फंक्शन्स हैं: कोसाइन, यूक्लिडियन डिस्टेंस, और डॉट प्रोडक्ट। चूंकि अपस्टैश वेक्टर सर्वरलेस है, इसमें पे-ऐज़-यू-गो प्राइसिंग और एक फ्री टियर है जो खोज करने वालों का समर्थन करता है।

आप अपस्टैश डॉक्स में अपस्टैश वेक्टर में उपयोग किए गए एल्गोरिदम और समानता फंक्शन्स के बारे में अधिक डिटेल्स पा सकते हैं।

इसकी कम लागत वाली हाई-परफॉरमेंस सर्च क्षमता के अलावा, यह रेस्ट API और टाइपस्क्रिप्ट और Python में SDKs प्रदान करता है ताकि अपस्टैश वेक्टर को हमारे कोडबेस में इंटीग्रेट करना आसान हो।

अपस्टैश वेक्टर के साथ इंटीग्रेट करने के लिए, हमें पहले कंसोल में लॉगिन करना होगा। एक बार लॉगिन करने के बाद, हम Create Index बटन पर क्लिक करके एक वेक्टर इंडेक्स बना सकते हैं। पॉप-अप मोडल में, हम अपने इंडेक्स का नाम दे सकते हैं, वह क्षेत्र चुन सकते हैं जहां इंडेक्स रहता है। उसके बाद, हम दिए गए ऑब्जेक्ट से एम्बेडिंग्स निकालने के लिए उपयोग किए जाने वाले एम्बेडिंग मॉडल को चुन सकते हैं। अपस्टैश में कुछ पूर्व-परिभाषित ओपन-सोर्स एम्बेडिंग मॉडल हैं जिनका उपयोग किया जा सकता है। अन्यथा, हम Custom चुन सकते हैं ताकि हम बाहरी एम्बेडिंग मॉडल के अनुसार वेक्टर्स के डाइमेंशन्स सेट कर सकें जिनका हम उपयोग करते हैं।

अंत में, हम वेक्टर्स के बीच दूरी की गणना करने वाले समानता फंक्शन को चुन सकते हैं। अपस्टैश में 3 समानता फंक्शन्स परिभाषित हैं: कोसाइन, यूक्लिडियन डिस्टेंस, और डॉट प्रोडक्ट। आप अपस्टैश डॉक्स में समानता फंक्शन्स के बारे में अधिक जान सकते हैं।

अपस्टैश और Vercel AI SDK का उपयोग करके एडवांस्ड AI एप्लिकेशन बनाएं

अगली स्क्रीन में, हम अपने लिए उपयुक्त प्लान चुन सकते हैं।

एक बार इंडेक्स निर्माण पूरा हो जाने पर, हम अपस्टैश वेक्टर को अपने कोडबेस के साथ इंटीग्रेट कर सकते हैं। मैं इस ब्लॉग पोस्ट में टाइपस्क्रिप्ट का उपयोग करूंगा, हालांकि, Python या Go SDKs का भी उपयोग किया जा सकता है। हम अपस्टैश वेक्टर कंसोल पर Details टैब के तहत दिए गए इंटीग्रेशन गाइड का पालन कर सकते हैं। हमें पहले @upstash/vector निर्भरता इंस्टॉल करनी होगी।

npm i @upstash/vector 

अब हम आसानी से निम्न मेथड्स का उपयोग करके कनेक्ट, लिख और क्वेरी कर सकते हैं।

import { Index } from "@upstash/vector" 
const index = new Index({ 
  url: , 
  token: , 
}) 
await index.upsert({ 
  id: "id1", 
  vector: […], 
  metadata: { metadata_field: "metadata_value" }, 
}); 
await index.query({ 
  vector: […], 
  topK: 1, 
  includeVectors: true, 
  includeMetadata: true, 
});

Vercel AI SDK

Vercel AI SDK एक TypeScript टूलकिट है जिसे वेब एप्लिकेशन में AI क्षमताओं के इंटीग्रेशन को सुव्यवस्थित करने के लिए डिज़ाइन किया गया है। यह React, Next.js, Vue, Svelte, और Node.js जैसे विभिन्न फ्रेमवर्क्स का समर्थन करता है, जिससे डेवलपर्स AI-पावर्ड एप्लिकेशन कुशलतापूर्वक बना सकते हैं। Vercel AI SDK में 3 मुख्य कॉन्सेप्ट्स हैं:

AI SDK Core

Vercel AI SDK Core, Vercel AI SDK का एक अभिन्न अंग है, जिसे वेब एप्लिकेशन में आर्टिफिशियल इंटेलिजेंस क्षमताओं के इंटीग्रेशन को सुव्यवस्थित करने के लिए डिज़ाइन किया गया है। यह कोर मॉड्यूल एक एकीकृत API प्रदान करता है जो लार्ज लैंग्वेज मॉडल्स (LLMs) के उपयोग को टेक्स्ट, स्ट्रक्चर्ड ऑब्जेक्ट्स, और टूल कॉल्स जनरेट करने के लिए सुविधाजनक बनाता है।

सबसे आम उपयोग उदाहरण generateText या streamText API का उपयोग कर रहा है। आइए जल्दी से उनका टाइपस्क्रिप्ट में उपयोग करें।

सबसे पहले, टर्मिनल पर निम्न कमांड चलाकर Vercel AI SDK इम्पोर्ट करें।

`npm i ai` 

फिर, हम एक उदाहरण के रूप में generateText API का उपयोग कर सकते हैं। Vercel AI SDK कुछ ज्ञात मॉडल प्रोवाइडर्स के साथ इंटीग्रेशन प्रदान करता है, जैसे OpenAI, Anthropic, Google, Mistral, आदि। हम इस उदाहरण में OpenAI का उपयोग करेंगे, लेकिन अन्य OpenAI इंटीग्रेशन जितने सरल हैं।

import { generateText } from "ai" 
import { openai } from "@ai-sdk/openai" 
const { text } = await generateText({ 
  model: openai("gpt-4-turbo"), 
  prompt: "What is love?" 
})

AI SDK UI

Vercel AI SDK UI एक फ्रेमवर्क-अज्ञेय टूलकिट है जिसे डेवलपर्स को इंटरैक्टिव चैट, कम्पलीशन, और असिस्टेंट एप्लिकेशन बनाने में मदद करने के लिए डिज़ाइन किया गया है, कुछ अतिरिक्त कार्यक्षमताओं के साथ जैसे चैट इंटरफेस का निर्माण, जेनरेटिव AI कंपोनेंट्स, और स्टेट मैनेजमेंट।

सबसे आम उपयोग उदाहरण useChat और useCompletion हुक्स हैं। useChat मैसेजेस, लोडिंग स्टेट्स, और एरर्स जैसे आवश्यक इनपुट और आउटपुट के प्रकार के लिए स्टेट मैनेजमेंट को एब्स्ट्रैक्ट करके चैट मैसेजेस की स्ट्रीमिंग प्रदान करता है। useCompletion डेवलपर्स को AI एप्लिकेशन में टेक्स्ट कम्पलीशन प्रबंधित करने की अनुमति देता है, चैट इनपुट स्टेट को हैंडल करता है और UI को स्वचालित रूप से अपडेट करता है जैसे ही नए कम्पलीशन आपके प्रोवाइडर से आते हैं।

यहां, आइए AI SDK UI के उदाहरण के रूप में useChat का उपयोग कैसे करें, जल्दी से देखें।

const { messages, input, handleInputChange, handleSubmit} = useChat({ 
  api: "api/chat", 
  initialMessages: […], 
  onResponse(response) {}, 
  streamMode: "text", 
});

जैसा कि आप देख सकते हैं, यह कॉल करने के लिए API एंडपॉइंट लेता है जब मैसेज भेजा जाता है, प्रतिक्रिया प्राप्त होने पर एक फंक्शन, और यह स्वयं स्टेट मैनेज करता है।

AI SDK RSC

Vercel AI SDK का यह भाग सर्वर-साइड रेंडरिंग के लिए है। AI SDK RSC का उद्देश्य लार्ज लैंग्वेज मॉडल (LLM) को रिएक्ट सर्वर कंपोनेंट्स (RSC) के माध्यम से सर्वर से सीधे क्लाइंट को UI जनरेट और स्ट्रीम करने के लिए समर्थन प्रदान करना है।

AI SDK RSC में सर्वर-साइड रेंडर्ड UIs के लिए स्ट्रीमिंग आउटपुट का समर्थन करने के लिए कई फंक्शन्स हैं। उनके बारे में अधिक डिटेल्स के लिए, कृपया Vercel AI SDK RSC डॉक्स देखें। इस ब्लॉग में, हम यह देखने के लिए सिर्फ एक फंक्शन की जांच करेंगे कि यह कैसे काम करता है। इस उद्देश्य के लिए, आइए समझें कि streamUI फंक्शन का उपयोग कैसे करें।

const result = await streamUI({ 
  model: openai('gpt-4o'), 
  prompt: 'Get the weather for San Francisco', 
  text: ({ content }) => 
{content}
, tools: {}, });

जैसा कि देखा जा सकता है, streamUI AI SDK Core फंक्शन्स की तरह भी काम कर रहा है। मुख्य अंतर सर्वर से रेंडर्ड UI स्ट्रीमिंग है।

संक्षेप में, Vercel AI SDK डेवलपर्स को बैकएंड से फ्रंटएंड तक सॉफ्टवेयर डेवलपमेंट के सभी हिस्सों में AI एप्लिकेशन बनाने में मदद करता है।

अपस्टैश रेडिस

AI एप्लिकेशन में, अपस्टैश रेडिस का उपयोग मुख्य रूप से APIs और LLM मॉडल उपयोग की सुरक्षा के लिए रेट लिमिटिंग, कैशिंग उद्देश्यों, या AI चैटबॉट एप्लिकेशन में मैसेज हिस्ट्री स्टोर करने के लिए किया जा सकता है।

हमें पहले अपस्टैश कंसोल पर एक रेडिस डेटाबेस बनाना चाहिए।

अपस्टैश और Vercel AI SDK का उपयोग करके एडवांस्ड AI एप्लिकेशन बनाएं

एक बार रेडिस डेटाबेस बन जाने के बाद, हम अपने कोडबेस के साथ रेडिस को इंटीग्रेट कर सकते हैं डेटा लिखने और क्वेरी करने के लिए, जो कैशिंग डेटा, मैसेज हिस्ट्री, कन्वर्सेशन स्टेट आदि हो सकता है। ऐसा करने के लिए, हमें पहले अपस्टैश रेडिस SDK इंस्टॉल करना चाहिए।

npm i @upstash/redis 

फिर, हम कोड से अपने रेडिस डेटाबेस से कनेक्ट कर सकते हैं।

import { Redis } from '@upstash/redis' 
const redis = new Redis({ 
  url: , 
  token: , 
}) 
const data = await redis.set('foo', 'bar');

यदि हम रेट लिमिटिंग के लिए रेडिस का उपयोग करना चाहते हैं, तो हम अपस्टैश द्वारा प्रदान किए गए रेट लिमिटिंग SDK का भी उपयोग कर सकते हैं। रेट लिमिटिंग SDK के लिए इंस्टॉल की जाने वाली निर्भरता अलग है।

npm install @upstash/ratelimit 

अब, रेट लिमिटिंग लागू करने के लिए;

import { Ratelimit } from "@upstash/ratelimit"; 
import { Redis } from "@upstash/redis"; 
// एक नया रेटलिमिटर बनाएं, जो 10 सेकंड में 10 अनुरोधों की अनुमति देता है 
const ratelimit = new Ratelimit({ 
  redis: Redis.fromEnv(), 
  limiter: Ratelimit.slidingWindow(10, "10 s"), 
  analytics: true, 
  /** 
   * रेडिस में उपयोग की जाने वाली कीज़ के लिए वैकल्पिक प्रीफिक्स। यह उपयोगी है यदि आप एक रेडिस 
   * इंस्टेंस को अन्य एप्लिकेशन के साथ शेयर करना चाहते हैं और की टकराव से बचना चाहते हैं। 
   */ 
  prefix: "prefix", 
}); 
// सभी अनुरोधों को एक ही रेटलिमिट के साथ सीमित करने के लिए एक कॉन्स्टेंट स्ट्रिंग का उपयोग करें 
// या व्यक्तिगत सीमाओं के लिए userID, apiKey, या ip एड्रेस का उपयोग करें। 
const identifier = "identifier"; 
const { success } = await ratelimit.limit(identifier); 
if (!success) { 
  return "Unable to process at this time"; 
} 
// बाकी कोड

Vercel AI SDK के साथ अपस्टैश रेडिस और वेक्टर का उपयोग करना

अब, ऊपर बताए गए टूल्स से क्या किया जा सकता है? बहुत सी चीजें...

RAG चैटबॉट्स सबसे आम जेनरेटिव AI एप्लिकेशन हैं जिन्हें Vercel AI SDK और अपस्टैश वेक्टर डेटाबेस के साथ बनाया जा सकता है। रिट्रीवल-ऑगमेंटेड जेनरेशन (RAG) एक एडवांस्ड फ्रेमवर्क है जो चैटबॉट्स और अन्य कन्वर्सेशनल AI सिस्टम्स की क्षमताओं को महत्वपूर्ण रूप से बढ़ाता है। यह दो महत्वपूर्ण घटकों —रिट्रीवल और जेनरेशन— को मर्ज करता है ताकि अधिक सटीक, प्रासंगिक रूप से प्रासंगिक, और सूचनात्मक प्रतिक्रियाएं प्रदान की जा सकें। RAG चैटबॉट्स वेक्टर डेटाबेस का उपयोग रिट्रीवर के रूप में करते हैं, जो चैट के इतिहास को एम्बेडिंग फॉर्मेट में स्टोर और देता है जिसे LLM मॉडल से अगली प्रतिक्रिया जनरेट करने के लिए उपयोग किया जा सकता है। इस तरह, LLM मॉडल उन प्रतिक्रियाओं को जनरेट कर सकता है जो बातचीत के संदर्भ के साथ प्रासंगिक हैं और पिछली बातचीत से सीखते हैं।

इस तरह के चैटबॉट एप्लिकेशन के लिए, अपस्टैश वेक्टर एक परफेक्ट वेक्टर डेटाबेस है जो रिट्रीवर हो सकता है। अपस्टैश वेक्टर के साथ इंटीग्रेशन के अलावा, हम Vercel AI SDK Core कंपोनेंट के streamText या streamObject APIs का उपयोग बैकएंड साइड पर OpenAI, Anthropic, Mistral आदि जैसे LLM मॉडल से आने वाली प्रतिक्रिया को जनरेट और स्ट्रीम करने के लिए कर सकते हैं। फ्रंटएंड साइड पर, हम Vercel AI SDK UI कंपोनेंट के useChat हुक का लाभ उठा सकते हैं, जो चैट UI और स्टेट मैनेजमेंट को संभालने वाला एक शक्तिशाली फ्रेमवर्क है। आप DegreeGuru ब्लॉग पोस्ट में एक उदाहरण RAG एप्लिकेशन देख सकते हैं।

एक अन्य सामान्य उदाहरण AI एप्लिकेशन टाइप जिसे Vercel AI SDK के साथ आसानी से बनाया जा सकता है, वह है रिकमेंडेशन सिस्टम्स। एक रिकमेंडेशन सिस्टम ई-कॉमर्स प्लेटफॉर्म की सबसे महत्वपूर्ण विशेषताओं में से एक है। यह यूजर की व्यक्तिगत प्राथमिकताओं और इतिहास का उपयोग करके यूजर के हितों की पहचान करता है ताकि उपयोगी सिफारिशें दी जा सकें। रिकमेंडेशन सिस्टम बनाते समय, Vercel AI SDK Core embed फंक्शन का उपयोग करके यूजर डेटा के एम्बेडिंग्स को आसानी से निकालने में हमारी मदद कर सकता है। आइए नीचे उदाहरण कोड देखें।

import { embed } from 'ai'; 
import { openai } from '@ai-sdk/openai'; 
// 'embedding' एक सिंगल एम्बेडिंग ऑब्जेक्ट है (number[]) 
const { embedding } = await embed({ 
  model: openai.embedding('text-embedding-3-small'), 
  value: 'sunny day at the beach', 
});

एम्बेडिंग्स निकालने के बाद, जो वास्तव में सेमेंटिक डेटा है न्यूमेरिक ऐरे फॉर्मेट में, हम आउटपुट को अपस्टैश वेक्टर में स्टोर कर सकते हैं। उन एम्बेडिंग्स को क्वेरी किया जा सकता है और यूजर की आदतों के अनुसार क्लासिफाई किया जा सकता है और भविष्य की सिफारिशों में उपयोग किया जा सकता है।

Vercel AI SDK Core में embed फंक्शन जो इनपुट से एम्बेडिंग्स निकालता है, किसी भी प्रकार के मशीन लर्निंग एप्लिकेशन में उपयोग किया जा सकता है, जैसे सेमेंटिक सर्च, इमेज सर्च, कंटेंट समराइज़ेशन, आदि। डेवलपर्स इस फंक्शन द्वारा निकाले गए वेक्टर एम्बेडिंग्स को अपस्टैश वेक्टर डेटाबेस में डाल सकते हैं ताकि प्रोडक्ट्स AI एल्गोरिदम के लिए बेकार रॉ डेटा स्टोर किए बिना एम्बेडिंग्स के आधार पर इनपुट्स का विश्लेषण कर सकें। अंतिम उदाहरण एप्लिकेशन कस्टमर रिव्यूज़ का AI सारांश है। इस उदाहरण एप्लिकेशन में, हम दिए गए टेक्स्ट से एम्बेडिंग्स निकाल सकते हैं, जो एक प्रोडक्ट के कस्टमर रिव्यूज़ हैं, और इसे वेक्टर डेटाबेस में स्टोर कर सकते हैं। बाद में, विश्लेषक Vercel AI SDK Core का उपयोग करके फिर से LLM मॉडल को प्रॉम्प्ट करके डेटा का सारांश प्राप्त करने के लिए वैक्टर्स का उपयोग कर सकते हैं।

इस ब्लॉग पोस्ट में हम चर्चा कर सकने वाला अंतिम उदाहरण फ्रॉड/एनोमली डिटेक्शन सिस्टम्स है। एनोमली डिटेक्शन के बहुत बेसिक फॉर्मेट में, डेवलपर्स को ट्रांजैक्शन्स, या यूजर बिहेवियर्स को क्लासिफाई करने की आवश्यकता होती है ताकि वे पता लगा सकें कि कोई असामान्य गतिविधि है या नहीं। उस उद्देश्य के लिए, अपस्टैश वेक्टर डेटाबेस का उपयोग n-डाइमेंशनल स्पेस में स्थित करने के लिए वेक्टर्स बनाने के लिए किया जा सकता है। एक बार यूजर्स के इंटरैक्शन्स अपस्टैश वेक्टर में वेक्टर्स स्टोर करके स्पेस में स्थित हो जाते हैं, तो एनालाइज़र टूल्स इनकमिंग इंटरैक्शन की वेक्टर स्पेस में इंटरैक्शन्स के साथ समानता प्राप्त कर सकते हैं। ये समानता स्कोर्स यह पहचानने में मदद कर सकते हैं कि इंटरैक्शन सामान्य है या नहीं।

उपरोक्त सभी उदाहरण एप्लिकेशन में जिन पर हमने चर्चा की, हम किसी भी प्रकार के भारी ऑपरेशन के लिए अपस्टैश रेट लिमिटिंग फीचर का उपयोग कर सकते हैं, जैसे टेक्स्ट जनरेट करना, LLM मॉडल्स को एम्बेडिंग्स निकालने के लिए कॉल करना, आदि। रेट लिमिटिंग के लिए धन्यवाद, हम अपने ऑपरेशन्स को ट्रैफिक के फटने से बचा सकते हैं। इसके अलावा, अपस्टैश रेडिस हमारे एप्लिकेशन के लिए रॉ यूजर डेटा स्टोर करने के लिए एक शानदार जगह हो सकती है, जैसे मैसेज हिस्ट्री, LLM मॉडल्स के लिए उपयोग किए जाने वाले प्रॉम्प्ट्स का कैश, आदि।

निष्कर्ष

इस ब्लॉग पोस्ट में, हमने पाया कि अपस्टैश रेडिस, अपस्टैश वेक्टर, और Vercel AI SDK एडवांस्ड AI एप्लिकेशन बनाने के लिए एक मूल्यवान संयोजन बनाते हैं। ये टूल्स डेटा को कुशलतापूर्वक प्रबंधित करने, जानकारी प्रोसेस करने, और AI मॉडल्स डिप्लॉय करने के लिए मिलकर काम करते हैं। प्रदान किए गए उदाहरण इस टेक्नोलॉजी स्टैक की बहुमुखी प्रतिभा को AI समाधानों की एक श्रृंखला बनाने में प्रदर्शित करते हैं।

अधिक उदाहरणों के लिए, आप अपस्टैश ब्लॉग्स और Vercel टेम्पलेट्स देख सकते हैं।

  1. एंड्रॉइड पर प्रोग्रामेटिकली वर्तमान GPS लोकेशन कैसे प्राप्त करें? एंड्रॉइड पर प्रोग्रामेटिकली वर्तमान GPS लोकेशन कैसे प्राप्त करें?

    एंड्रॉइड में FusedLocationProviderClient का उपयोग करके GPS लोकेशन प्राप्त करना यह उदाहरण दर्शाता है कि एंड्रॉइड ऐप में प्रोग्रामेटिकली वर्तमान GPS लोकेशन कैसे प्राप्त करें। हम Google Play Services के FusedLocationProviderClient का उपयोग करेंगे, जो बैटरी-कुशल तरीके से सटीक लोकेशन प्रदान करता है। आवश

  1. SQL Server में MIN फंक्शन SQL Server में MIN फंक्शन

    विवरण SQL Server में MIN फंक्शन एक एग्रीगेट फंक्शन है जो एक समूह में सबसे छोटा मान लौटाता है। सिंटैक्स SQL Server में MIN फंक्शन का उपयोग करने के लिए, हम निम्न सिंटैक्स का उपयोग करते हैं: SELECT MIN(column) FROM table [WHERE condition]; पैरामीटर्स: column: वह कॉलम या परिकलित मान, एक्सप्रेशन जिसका

  1. Oracle Demantra और SPWA परिनियोजित करना: एक पूर्ण इंस्टॉलेशन गाइड Oracle Demantra और SPWA परिनियोजित करना: एक पूर्ण इंस्टॉलेशन गाइड

    परिचय Demantra® और उन्नत सप्लाई प्लानिंग वर्क एरिया (SPWA) Oracle® द्वारा प्रदान किए जाने वाले डिमांड मैनेजमेंट और सप्लाई चेन मैनेजमेंट टूल हैं। ये उत्पाद Oracle E-Business Suite (EBS) और Oracle Advanced Planning Suite (APS) (जो Oracle Advanced Supply Chain Planning (ASCP) का हिस्सा हैं) के साथ एकीक