<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>T-SQL | The .NET Blog</title><link>https://thedotnetblog.com/hi/tags/t-sql/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>hi</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Fri, 22 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/hi/tags/t-sql/index.xml" rel="self" type="application/rss+xml"/><item><title>Azure SQL अब एम्बेडिंग जेनरेट कर सकता है — शुद्ध T-SQL में, कोई ऐप लेयर नहीं</title><link>https://thedotnetblog.com/hi/news/emiliano-montesdeoca/azure-sql-ai-generate-embeddings-ga-rag-tsql/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/hi/news/emiliano-montesdeoca/azure-sql-ai-generate-embeddings-ga-rag-tsql/</guid><description>AI_GENERATE_EMBEDDINGS और CREATE EXTERNAL MODEL अब Azure SQL Database और Managed Instance में GA हैं। पूरी तरह से T-SQL में बनी RAG पाइपलाइन, कोई डेटा मूवमेंट आवश्यक नहीं।</description><content:encoded>&lt;p&gt;यदि आपने कभी RAG पाइपलाइन बनाई है, तो आप पाइपलाइन टैक्स जानते हैं: आपका डेटा SQL में रहता है, लेकिन एम्बेडिंग जेनरेट करने के लिए आपको इसे निकालना होगा, एम्बेडिंग API को कॉल करना होगा, बैचिंग और रेट लिमिट को हैंडल करना होगा, और परिणामों को कहीं वेक्टर-सर्चेबल स्टोर करना होगा। अक्सर एक बिल्कुल अलग डेटाबेस में।&lt;/p&gt;
&lt;p&gt;Azure SQL ने दो फीचर्स के साथ उसमें से अधिकांश को हटा दिया है जो अब आम तौर पर उपलब्ध हैं: &lt;code&gt;CREATE EXTERNAL MODEL&lt;/code&gt; और &lt;code&gt;AI_GENERATE_EMBEDDINGS&lt;/code&gt;।&lt;/p&gt;
&lt;h2 id="व-कय-करत-ह"&gt;वे क्या करते हैं&lt;/h2&gt;
&lt;p&gt;ये दो T-SQL फीचर एक एकीकृत पाइपलाइन के रूप में काम करते हैं:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;CREATE EXTERNAL MODEL&lt;/code&gt;&lt;/strong&gt; — एक बाहरी AI मॉडल एंडपॉइंट को एक नामित डेटाबेस ऑब्जेक्ट के रूप में पंजीकृत करता है। आप स्थान, API फॉर्मेट, मॉडल टाइप और क्रेडेंशियल एक बार सेट करते हैं। हर जगह पुनः उपयोग करें।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;AI_GENERATE_EMBEDDINGS&lt;/code&gt;&lt;/strong&gt; — एक स्केलर T-SQL फ़ंक्शन जो पंजीकृत मॉडल को कॉल करता है और वेक्टर मानों का JSON ऐरे लौटाता है। SELECT, INSERT, UPDATE और MERGE स्टेटमेंट में काम करता है।&lt;/p&gt;
&lt;p&gt;साथ मिलकर वे SQL इंजन को छोड़े बिना एंड-टू-एंड एम्बेडिंग पाइपलाइन बनाते हैं।&lt;/p&gt;
&lt;h2 id="परण-वरकफल"&gt;पूर्ण वर्कफ़्लो&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;-- चरण 1: एम्बेडिंग प्रदाता को एक बार पंजीकृत करें
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;EXTERNAL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MODEL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MyEmbeddingModel&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;WITH&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;LOCATION&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://your-aoai-resource.openai.azure.com/&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;API_FORMAT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Azure OpenAI&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MODEL_TYPE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;EMBEDDINGS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MODEL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;text-embedding-ada-002&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;-- चरण 2: T-SQL में इनलाइन एम्बेडिंग जेनरेट करें
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;UPDATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;docs&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;embedding&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;AI_GENERATE_EMBEDDINGS&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;USE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MODEL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MyEmbeddingModel&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;documents&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;AS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;docs&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;-- चरण 3: वेक्टर दूरी से खोजें
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;TOP&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;documents&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;ORDER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;BY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;VECTOR_DISTANCE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;cosine&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;embedding&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;AI_GENERATE_EMBEDDINGS&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;USE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MODEL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MyEmbeddingModel&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;यही पूरी पाइपलाइन है: SQL में डेटा, SQL में जेनरेट की गई एम्बेडिंग, SQL में समानता खोज। कोई ऑर्केस्ट्रेशन लेयर नहीं, कोई ETL नहीं, कोई अलग वेक्टर डेटाबेस नहीं।&lt;/p&gt;
&lt;h2 id="समरथत-api-फरमट-और-वकलप"&gt;समर्थित API फॉर्मेट और विकल्प&lt;/h2&gt;
&lt;p&gt;GA में &lt;code&gt;API_FORMAT&lt;/code&gt; &lt;strong&gt;Azure OpenAI&lt;/strong&gt; और &lt;strong&gt;OpenAI&lt;/strong&gt; को सपोर्ट करता है। &lt;code&gt;MODEL_TYPE&lt;/code&gt; अभी के लिए &lt;code&gt;EMBEDDINGS&lt;/code&gt; तक सीमित है। &lt;code&gt;PARAMETERS&lt;/code&gt; JSON आपको मॉडल-स्तरीय डिफ़ॉल्ट सेट करने देता है जिसमें रिट्री काउंट शामिल है:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;PARAMETERS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;{&amp;#34;sql_rest_options&amp;#34;:{&amp;#34;retry_count&amp;#34;:3}}&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ऑथेंटिकेशन डेटाबेस क्रेडेंशियल का उपयोग करता है, इसलिए सीक्रेट आपके एप्लिकेशन कोड के बाहर रहते हैं।&lt;/p&gt;
&lt;h2 id="यह-net-एपलकशन-क-लए-कय-सकषम-करत-ह"&gt;यह .NET एप्लिकेशन के लिए क्या सक्षम करता है&lt;/h2&gt;
&lt;p&gt;मौजूदा SQL डेटा पर AI फीचर बनाने वाले .NET डेवलपर्स के लिए यह महत्वपूर्ण है। आपको इनकी जरूरत नहीं:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;एम्बेडिंग के लिए डेटा को इंटरमीडिएट स्टोर में निकालना&lt;/li&gt;
&lt;li&gt;एक बाहरी एम्बेडिंग पाइपलाइन प्रबंधित करना&lt;/li&gt;
&lt;li&gt;एक अलग वेक्टर डेटाबेस सेट करना (हालाँकि यदि आप पूर्ण-विशेषताओं वाला वेक्टर स्टोर चाहते हैं तो Azure AI Search का उपयोग कर सकते हैं)&lt;/li&gt;
&lt;li&gt;अपने एप्लिकेशन की डेटा एक्सेस लेयर बदलना&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;आप मौजूदा SQL एप्लिकेशन में धीरे-धीरे सिमेंटिक सर्च जोड़ सकते हैं, उन्हीं T-SQL टूल्स का उपयोग करके जो आपके पास पहले से हैं।&lt;/p&gt;
&lt;h2 id="नषकरष"&gt;निष्कर्ष&lt;/h2&gt;
&lt;p&gt;SQL डेटा पर RAG पैटर्न नाटकीय रूप से सरल हो गए हैं। &lt;code&gt;AI_GENERATE_EMBEDDINGS&lt;/code&gt; + &lt;code&gt;CREATE EXTERNAL MODEL&lt;/code&gt; का मतलब है कि आपका मौजूदा SQL एप्लिकेशन नई इन्फ्रास्ट्रक्चर जोड़े बिना वेक्टर सर्च क्षमताएं प्राप्त कर सकता है।&lt;/p&gt;
&lt;p&gt;दोनों फीचर आज Azure SQL Database और Azure SQL Managed Instance में GA हैं।&lt;/p&gt;
&lt;p&gt;मूल पोस्ट: &lt;a href="https://devblogs.microsoft.com/azure-sql/generate-embeddings-function-and-external-model-object-support-are-now-generally-available-in-azure-sql/"&gt;Generate Embeddings Function and External Model Object Support Are Now Generally Available in Azure SQL&lt;/a&gt;&lt;/p&gt;</content:encoded></item></channel></rss>