SQL में बाहरी मॉडल बनाएँ और प्रबंधित करें
बाहरी मॉडल Transact-SQL का उपयोग करके SQL Server और Azure SQL के भीतर से AI मॉडल को संदर्भित करने का एक तरीका प्रदान करते हैं। एक बाहरी मॉडल एक मॉडल समापन बिंदु से कनेक्शन का प्रतिनिधित्व करता है और परिभाषित करता है कि SQL अंतर्निहित AI फ़ंक्शन उस मॉडल को कैसे लागू करते हैं।
बाहरी मॉडल बनाकर, आप एप्लिकेशन कोड में मॉडल-विशिष्ट तर्क एम्बेड किए बिना सीधे डेटाबेस इंजन के अंदर एआई क्षमताओं को उपलब्ध कराते हैं।
बाहरी मॉडल क्या है
एक बाहरी मॉडल एक डेटाबेस ऑब्जेक्ट है जो एआई मॉडल एंडपॉइंट के बारे में मेटाडेटा संग्रहीत करता है। इस मेटाडेटा में एंडपॉइंट URL, प्रमाणीकरण विवरण और मॉडल-विशिष्ट कॉन्फ़िगरेशन जैसी जानकारी शामिल है।
बाहरी मॉडल ऐसे मॉडल नहीं हैं जो SQL सर्वर के अंदर चलते हैं. इसके बजाय, वे एक प्रबंधित संदर्भ के रूप में कार्य करते हैं जो SQL सर्वर को AI फ़ंक्शन निष्पादित करते समय बाहरी AI सेवा को कॉल करने की अनुमति देता है।
एक बार बन जाने के बाद, बाहरी मॉडल को प्रश्नों और कार्यभार में पुन: उपयोग किया जा सकता है, जो SQL से AI क्षमताओं तक पहुंचने का एक सुसंगत और केंद्रीय रूप से प्रबंधित तरीका प्रदान करता है।
एक बाहरी मॉडल बनाएं
आप कथन का CREATE EXTERNAL MODEL उपयोग कर एक बाहरी मॉडल बनाएँ। यह कथन मॉडल नाम को परिभाषित करता है और इसे बाहरी समापन बिंदु के साथ जोड़ता है।
बाहरी मॉडल बनाने से मॉडल का आह्वान नहीं होता है या आउटपुट उत्पन्न नहीं होता है। यह एक पुन: प्रयोज्य परिभाषा स्थापित करता है जिसे एआई फ़ंक्शन जैसे एम्बेडिंग जेनरेशन या अन्य एआई-सहायता प्राप्त संचालन बाद में संदर्भित कर सकते हैं।
क्योंकि बाहरी मॉडल डेटाबेस ऑब्जेक्ट हैं, उन्हें मानक SQL प्रथाओं का उपयोग करके प्रबंधित किया जा सकता है, जिसमें नामकरण सम्मेलन, अनुमतियाँ और स्क्रिप्ट के माध्यम से परिनियोजन शामिल हैं।
किसी बाहरी मॉडल को संशोधित करें
बाहरी मॉडल समय के साथ बदल सकते हैं क्योंकि समापन बिंदु, क्रेडेंशियल्स या कॉन्फ़िगरेशन सेटिंग्स अपडेट की जाती हैं। इन परिवर्तनों को प्रतिबिंबित करने के लिए, आप कथन का उपयोग कर सकते हैं ALTER EXTERNAL MODEL ।
किसी बाहरी मॉडल को बदलना आश्रित प्रश्नों या फ़ंक्शंस को फिर से लिखने की आवश्यकता के बिना अपने मेटाडेटा को अपडेट करता है। यह अद्यतन आपको मौजूदा SQL तर्क को बरकरार रखते हुए मॉडल कॉन्फ़िगरेशन को केंद्रीय रूप से समायोजित करने की अनुमति देता है।
बाहरी मॉडल स्तर पर परिवर्तनों को प्रबंधित करने से एप्लिकेशन लॉजिक और एआई सेवा कॉन्फ़िगरेशन के बीच युग्मन को कम करने में मदद मिलती है।
एआई फ़ंक्शन के साथ बाहरी मॉडल का उपयोग करें
SQL सर्वर अंतर्निहित AI फ़ंक्शन प्रदान करता है जो AI-संबंधित संचालन करने के लिए एक बाहरी मॉडल को संदर्भित करता है। ये फ़ंक्शन डेटाबेस में परिभाषित बाहरी मॉडल समापन बिंदु को कॉल करके एम्बेडिंग उत्पन्न करने जैसे कार्यों को संभालते हैं।
एआई फ़ंक्शन यह निर्धारित करने के लिए बाहरी मॉडल परिभाषा का उपयोग करते हैं कि किस समापन बिंदु पर कॉल करना है और अनुरोध को कैसे प्रमाणित करना है। यह पृथक्करण Transact-SQL कोड को कनेक्शन या क्रेडेंशियल विवरण के बजाय डेटा प्रोसेसिंग पर ध्यान केंद्रित करने की अनुमति देता है।
बाहरी मॉडल बनाने से पहले, आपको एक डेटाबेस स्कोप्ड क्रेडेंशियल की आवश्यकता होती है जो एआई एंडपॉइंट के लिए प्रमाणीकरण विवरण संग्रहीत करता है। Azure OpenAI एंडपॉइंट दो प्रमाणीकरण विकल्पों का समर्थन करते हैं:
प्रबंधित पहचान (Azure SQL डेटाबेस के लिए अनुशंसित): आपके डेटाबेस की प्रबंधित पहचान सीधे Azure OpenAI के साथ प्रमाणित होती है। इसे Azure OpenAI संसाधन पर संज्ञानात्मक सेवाएँ OpenAI उपयोगकर्ता भूमिका प्रदान करें।
CREATE DATABASE SCOPED CREDENTIAL [https://<resource-name>.cognitiveservices.azure.com/] WITH IDENTITY = 'Managed Identity', SECRET = '{"resourceid":"https://cognitiveservices.azure.com"}';एपीआई कुंजी: कुंजी को HTTP हेडर में स्टोर करें। यह दृष्टिकोण Azure SQL डेटाबेस और SQL Server 2025 दोनों के लिए काम करता है।
CREATE DATABASE SCOPED CREDENTIAL [https://<resource-name>.cognitiveservices.azure.com/] WITH IDENTITY = 'HTTPEndpointHeaders', SECRET = '{"api-key":"<your-api-key>"}';
अपने T-SQL कोड में हार्डकोडिंग API कुंजियों से बचें। बेहतर सुरक्षा और आसान कुंजी रोटेशन के लिए जब संभव हो तो प्रबंधित पहचान का उपयोग करें।
महत्वपूर्ण
उन उपयोगकर्ताओं या भूमिकाओं को अनुमति दें जिन्हें बाहरी समापन बिंदुओं को कॉल करने की आवश्यकता होती है EXECUTE ANY EXTERNAL ENDPOINT : GRANT EXECUTE ANY EXTERNAL ENDPOINT TO [user_or_role];
क्रेडेंशियल के साथ, आप बाहरी मॉडल बना सकते हैं। निम्न उदाहरण एक न्यूनतम वर्कफ़्लो दिखाता है।
CREATE EXTERNAL MODEL my_external_model
WITH (
LOCATION = 'https://<resource-name>.cognitiveservices.azure.com/openai/deployments/<deployment-name>/embeddings?api-version=<api-version>',
API_FORMAT = 'Azure OpenAI',
MODEL_TYPE = EMBEDDINGS,
MODEL = 'text-embedding-3-small',
CREDENTIAL = [https://<resource-name>.cognitiveservices.azure.com/],
PARAMETERS = '{"dimensions":<n>}'
);
एक बार बाहरी मॉडल बन जाने के बाद, एआई फ़ंक्शन इसे प्रश्नों में संदर्भित कर सकते हैं।
SELECT
id,
AI_GENERATE_EMBEDDINGS(
description USE MODEL my_external_model
) AS embedding
FROM dbo.documents;
इस उदाहरण में, बाहरी मॉडल परिभाषित करता है कि SQL सर्वर AI सेवा से कैसे जुड़ता है।
AI_GENERATE_EMBEDDINGS फ़ंक्शन क्वेरी में समापन बिंदु या प्रमाणीकरण विवरण एम्बेड किए बिना कॉलम के लिए एम्बेडिंग description उत्पन्न करने के लिए उस परिभाषा का उपयोग करता है।
जब आप बाहरी मॉडलों को AI फ़ंक्शन के साथ जोड़ते हैं, तो SQL Server AI वर्कफ़्लो को सक्षम करता है जो पूरी तरह से Transact-SQL के माध्यम से परिभाषित, निष्पादित और बनाए रखा जाता है।
डेटाबेस ऑब्जेक्ट्स के रूप में बाहरी मॉडल प्रबंधित करना
क्योंकि बाहरी मॉडल डेटाबेस-स्कोप ऑब्जेक्ट हैं, वे स्वाभाविक रूप से मौजूदा डेटाबेस प्रबंधन प्रथाओं में फिट होते हैं। आप अनुमतियों के माध्यम से पहुँच को नियंत्रित कर सकते हैं, उन्हें परिनियोजन पाइपलाइनों में शामिल कर सकते हैं और अन्य स्कीमा ऑब्जेक्ट्स के साथ उनके जीवनचक्र को प्रबंधित कर सकते हैं.
बाहरी मॉडलों को प्रथम श्रेणी के डेटाबेस ऑब्जेक्ट के रूप में मानने से एआई क्षमताओं को एसक्यूएल-आधारित समाधानों में एकीकृत करते समय स्थिरता, रखरखाव और पूर्वानुमानित व्यवहार सुनिश्चित करने में मदद मिलती है।
चाबी छीन लेना
बाहरी मॉडल डेटाबेस ऑब्जेक्ट हैं जो एआई मॉडल एंडपॉइंट के बारे में मेटाडेटा संग्रहीत करते हैं, जिससे एसक्यूएल सर्वर को एप्लिकेशन कोड में कनेक्शन विवरण एम्बेड किए बिना बाहरी एआई सेवाओं को कॉल करने की अनुमति मिलती है। आप उन्हें इसके साथ बनाते CREATE EXTERNAL MODELहैं, उन्हें अपडेट करते हैंALTER EXTERNAL MODEL, और उन्हें अंतर्निहित एआई फ़ंक्शन में संदर्भित करते हैं जैसे .AI_GENERATE_EMBEDDINGS क्योंकि वे डेटाबेस-स्कोप हैं, आप अपने अन्य स्कीमा ऑब्जेक्ट्स के साथ अनुमतियाँ, जीवनचक्र और परिनियोजन प्रबंधित कर सकते हैं।