<?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>Deployment | The .NET Blog</title><link>https://thedotnetblog.com/hi/tags/deployment/</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>Sat, 30 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/hi/tags/deployment/index.xml" rel="self" type="application/rss+xml"/><item><title>आपके लोकल MAF एजेंट को प्रोडक्शन में घर मिल गया</title><link>https://thedotnetblog.com/hi/news/emiliano-montesdeoca/maf-agent-local-to-production-foundry-hosted-agents/</link><pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/hi/news/emiliano-montesdeoca/maf-agent-local-to-production-foundry-hosted-agents/</guid><description>Foundry Hosted Agents आपके Microsoft Agent Framework एजेंट को पहचान, स्केलिंग, सत्र स्थायित्व और बिना अतिरिक्त सेटअप के ऑब्जर्वेबिलिटी देता है। यहाँ देखें यह व्यवहार में कैसा दिखता है।</description><content:encoded>&lt;p&gt;एजेंट को लोकल में काम करवाना मज़ेदार हिस्सा है। मुश्किल हिस्सा उसके बाद का सब कुछ है: बिना दिमाग खोए उसे डिप्लॉय करना, सेशन मैनेज करना, आइडेंटिटी सेटअप करना, ऑब्जर्वेबिलिटी जोड़ना। आमतौर पर इसका मतलब होता है बहुत सारा कस्टम इंफ्रास्ट्रक्चर।&lt;/p&gt;
&lt;p&gt;Foundry Hosted Agents ने Microsoft Agent Framework (MAF) यूज़र्स के लिए उस अधिकांश इंफ्रास्ट्रक्चर को हटा दिया है।&lt;/p&gt;
&lt;h2 id="foundry-hosted-agents-वसतव-म-कय-करत-ह"&gt;Foundry Hosted Agents वास्तव में क्या करता है&lt;/h2&gt;
&lt;p&gt;जब आप एक MAF एजेंट को Foundry Hosted Agents में डिप्लॉय करते हैं, तो प्लेटफ़ॉर्म उन चीजों की एक आश्चर्यजनक लंबी सूची संभालता है जो आपको अन्यथा खुद बनानी होतीं:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;शून्य तक स्केल&lt;/strong&gt; — आपका एजेंट आइडल होने पर कुछ भी खर्च नहीं करता और अपने आप वापस चालू हो जाता है&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;प्रति-सेशन VM-आइसोलेटेड सैंडबॉक्स&lt;/strong&gt; — हर यूज़र सेशन को अपना सैंडबॉक्स मिलता है जिसमें फाइलसिस्टम पर्सिस्टेंस है जो स्केल-डाउन इवेंट्स से बचती है&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;बिल्ट-इन Entra ID&lt;/strong&gt; — हर एजेंट को अपनी आइडेंटिटी मिलती है ताकि वह इमेज में सीक्रेट डाले बिना Foundry मॉडल्स, Toolbox और Azure सर्विसेज को कॉल कर सके&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;वर्शन्ड डिप्लॉयमेंट&lt;/strong&gt; — हर डिप्लॉयमेंट एक अपरिवर्तनीय स्नैपशॉट है, जिसमें blue/green और कैनरी रोलआउट सपोर्ट है&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ज़ीरो-कॉन्फिग ऑब्जर्वेबिलिटी&lt;/strong&gt; — &lt;code&gt;APPLICATIONINSIGHTS_CONNECTION_STRING&lt;/code&gt; रनटाइम पर इंजेक्ट होती है ताकि MAF के OpenTelemetry ट्रेस App Insights में अपने आप आ जाएं&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;आखिरी वाला वाकई अच्छा है। कोई अतिरिक्त वायरिंग नहीं, कोई अतिरिक्त कॉन्फिग नहीं। ट्रेस बस दिखने लगते हैं।&lt;/p&gt;
&lt;h2 id="कड-क-अतर-बहत-कम-ह"&gt;कोड का अंतर बहुत कम है&lt;/h2&gt;
&lt;p&gt;इस इंटीग्रेशन में मुझे यही सबसे ज़्यादा पसंद है। आपको अपना एजेंट फिर से नहीं लिखना। बस उसे रैप करना है:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;.NET में:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="nn"&gt;Microsoft.Agents.AI.Foundry.Hosting&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;builder&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;WebApplication&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CreateBuilder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Services&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddFoundryResponses&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Build&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;MapFoundryResponses&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Run&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Python में:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ResponsesHostServer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;server&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&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="द-परटकल-एक-एजट"&gt;दो प्रोटोकॉल, एक एजेंट&lt;/h2&gt;
&lt;p&gt;Hosted Agents दो एंडपॉइंट स्टाइल सपोर्ट करता है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Responses&lt;/strong&gt; (&lt;code&gt;/responses&lt;/code&gt;) — OpenAI-कम्पेटिबल, कनवर्सेशन हिस्ट्री और स्ट्रीमिंग मैनेज करता है। चैट-शेप्ड एजेंट्स के लिए अच्छा डिफ़ॉल्ट।&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Invocations&lt;/strong&gt; (&lt;code&gt;/invocations&lt;/code&gt;) — आप रिक्वेस्ट/रिस्पांस स्कीमा डिफाइन करते हैं। नॉन-कनवर्सेशनल वर्कफ्लो के लिए अच्छा।&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;अगर आप कुछ ऐसा बना रहे हैं जो बातचीत जैसा लगे, Responses से शुरू करें। अगर आप API-शेप्ड एजेंट बना रहे हैं जो स्ट्रक्चर्ड इनपुट लेता है और स्ट्रक्चर्ड आउटपुट देता है, तो Invocations लचीलापन देता है।&lt;/p&gt;
&lt;h2 id="azd-क-सथ-डपलयमट-फल"&gt;&lt;code&gt;azd&lt;/code&gt; के साथ डिप्लॉयमेंट फ्लो&lt;/h2&gt;
&lt;p&gt;जब आप MAF एजेंट के साथ &lt;code&gt;azd up&lt;/code&gt; चलाते हैं:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ऑप्शनल रूप से Foundry प्रोजेक्ट बनाता है और मॉडल डिप्लॉय करता है&lt;/li&gt;
&lt;li&gt;आपके कोड को पैकेज करता है और Azure Container Registry में इमेज पुश करता है&lt;/li&gt;
&lt;li&gt;ACR इमेज से कंप्यूट प्रोविज़न करता है&lt;/li&gt;
&lt;li&gt;एजेंट को एक डेडिकेटेड Entra ID असाइन करता है&lt;/li&gt;
&lt;li&gt;एक स्टेबल एंडपॉइंट एक्सपोज़ करता है (&lt;code&gt;https://{project_endpoint}/agents/{agent_name}&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;उस पॉइंट से आगे सब कुछ हैंडल करता है&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;सेशन 30 दिनों तक बनी रहती हैं। आइडल कंप्यूट 15 मिनट बाद डिप्रोविज़न हो जाता है और अगले रिक्वेस्ट पर पारदर्शी रूप से रिस्टोर हो जाता है। एजेंट के नज़रिए से, कुछ भी नहीं बदला।&lt;/p&gt;
&lt;h2 id="नषकरष"&gt;निष्कर्ष&lt;/h2&gt;
&lt;p&gt;AI एजेंट्स के लिए &amp;ldquo;लोकल में काम कर रहा है&amp;rdquo; और &amp;ldquo;प्रोडक्शन में चल रहा है&amp;rdquo; के बीच की दूरी ऐतिहासिक रूप से लंबी और तकलीफदेह रही है। Foundry Hosted Agents + MAF उस खाई को काफी हद तक पाटता है। अगर आपके पास Agent Framework से बना लोकल एजेंट है, तो आज इसे आज़माने लायक है।&lt;/p&gt;
&lt;p&gt;टीम का कहना है कि GA जल्द आने वाला है — यह अभी प्रीव्यू में है। शुरुआत के लिए &lt;a href="https://learn.microsoft.com/en-us/agent-framework/hosting/foundry-hosted-agent"&gt;MAF Hosted Agent इंटीग्रेशन डॉक्स&lt;/a&gt; और &lt;a href="https://github.com/microsoft/agent-framework/tree/main/dotnet/samples/04-hosting/FoundryHostedAgents"&gt;.NET सैम्पल्स&lt;/a&gt; देखें।&lt;/p&gt;
&lt;p&gt;ओरिजिनल आर्टिकल: &lt;a href="https://devblogs.microsoft.com/agent-framework/from-local-to-production-deploy-your-microsoft-agent-framework-agent-with-foundry-hosted-agents/"&gt;From Local to Production: Deploy Your Microsoft Agent Framework Agent with Foundry Hosted Agents&lt;/a&gt;&lt;/p&gt;</content:encoded></item></channel></rss>