AzureAI
60 TopicsIssue with: Connected Agent Tool Forcing from an Orchestrator Agent
Hi Team, I am trying to force tool selection for my Connected Agents from an Orchestrator Agent for my Multi-Agent Model. Not sure if that is possible Apologies in advance for too much detail as I really need this to work! Please let me know if there is a flaw in my approach! The main intention behind going towards Tool forcing was because with current set of instructions provided to my Orchestrator Agent, It was providing hallucinated responses from my Child Agents for each query. I have an Orchestrator Agent which is connected to the following Child Agents (Each with detailed instructions) Child Agent 1 - Connects to SQL DB in Fabric to fetch information from Log tables. Child Agent 2 - Invokes OpenAPI Action tool for Azure Functions to run pipelines in Fabric. I have provided details on 3 approaches. Approach 1: I have checked the MS docs "CONNECTED_AGENT" is a valid property for ToolChoiceType "https://learn.microsoft.com/en-us/python/api/azure-ai-agents/azure.ai.agents.models.agentsnamedtoolchoicetype?view=azure-python" Installed the latest Python AI Agents SDK Beta version as it also supports "Connected Agents": https://pypi.org/project/azure-ai-agents/1.2.0b6/#create-an-agent-using-another-agents The following code is integrated into a streamlit UI code. Python Code: agents_client = AgentsClient( endpoint=PROJECT_ENDPOINT, credential=DefaultAzureCredential( exclude_environment_credential=True, exclude_managed_identity_credential=True ) ) # ------------------------------------------------------------------- # UPDATE ORCHESTRATOR TOOLS (executed once) # ------------------------------------------------------------------- fabric_tool = ConnectedAgentTool( id=FABRIC_AGENT_ID, name="Fabric_Agent", description="Handles Fabric pipeline questions" ) openapi_tool = ConnectedAgentTool( id=OPENAPI_AGENT_ID, name="Fabric_Pipeline_Trigger", description="Handles OpenAPI pipeline triggers" ) # Update orchestrator agent to include child agent tools agents_client.update_agent( agent_id=ORCH_AGENT_ID, tools=[ fabric_tool.definitions[0], openapi_tool.definitions[0] ], instructions=""" You are the Master Orchestrator Agent. Use: - "Fabric_Agent" when the user's question includes: "Ingestion", "Trigger", "source", "Connection" - "Fabric_Pipeline_Trigger" when the question mentions: "OpenAPI", "Trigger", "API call", "Pipeline start" Only call tools when needed. Respond clearly and concisely. """ ) # ------------------------- TOOL ROUTING LOGIC ------------------------- def choose_tool(user_input: str): text = user_input.lower() if any(k in text for k in ["log", "trigger","pipeline","connection"]): return fabric_tool if any(k in text for k in ["openapi", "api call", "pipeline start"]): return openapi_tool # No forced routing → let orchestrator decide return None forced_tool = choose_tool(user_query) run = agents_client.runs.create_and_process( thread_id=st.session_state.thread.id, agent_id=ORCH_AGENT_ID, tool_choice={ "type": "connected_agent", "function": forced_tool.definitions[0] } Error: Azure.core.exceptions.HttpResponseError: (invalid_value) Invalid value: 'connected_agent'. Supported values are: 'code_interpreter', 'function', 'file_search', 'openapi', 'azure_function', 'azure_ai_search', 'bing_grounding', 'bing_custom_search', 'deep_research', 'sharepoint_grounding', 'fabric_dataagent', 'computer_use_preview', and 'image_generation'. Code: invalid_value Message: Invalid value: 'connected_agent'. Supported values are: 'code_interpreter', 'function', 'file_search', 'openapi', 'azure_function', 'azure_ai_search', 'bing_grounding', 'bing_custom_search', 'deep_research', 'sharepoint_grounding', 'fabric_dataagent', 'computer_use_preview', and 'image_generation'." Approach 2: Create ConnectedAgentTool as you do, and pass its definitions to update_agent(...). Force a tool by name using tool_choice={"type": "function", "function": {"name": "<tool-name>"}}. Do not set type: "connected_agent" anywhere—there is no such tool_choice.type. Code: from azure.identity import DefaultAzureCredential from azure.ai.agents import AgentsClient # Adjust imports to your SDK layout: # e.g., from azure.ai.agents.tool import ConnectedAgentTool agents_client = AgentsClient( endpoint=PROJECT_ENDPOINT, credential=DefaultAzureCredential( exclude_environment_credential=True, exclude_managed_identity_credential=True # keep your current credential choices ) ) # ------------------------------------------------------------------- # CREATE CONNECTED AGENT TOOLS (child agents exposed as function tools) # ------------------------------------------------------------------- fabric_tool = ConnectedAgentTool( id=FABRIC_AGENT_ID, # the **child agent ID** you created elsewhere name="Fabric_Agent", # **tool name** visible to the orchestrator description="Handles Fabric pipeline questions" ) openapi_tool = ConnectedAgentTool( id=OPENAPI_AGENT_ID, # another child agent ID name="Fabric_Pipeline_Trigger", # tool name visible to the orchestrator description="Handles OpenAPI pipeline triggers" ) # ------------------------------------------------------------------- # UPDATE ORCHESTRATOR: attach child tools # ------------------------------------------------------------------- # NOTE: definitions is usually a list of ToolDefinition objects produced by the helper agents_client.update_agent( agent_id=ORCH_AGENT_ID, tools=[ fabric_tool.definitions[0], openapi_tool.definitions[0] ], instructions=""" You are the Master Orchestrator Agent. Use: - "Fabric_Agent" when the user's question includes: "Ingestion", "Trigger", "source", "Connection" - "Fabric_Pipeline_Trigger" when the question mentions: "OpenAPI", "Trigger", "API call", "Pipeline start" Only call tools when needed. Respond clearly and concisely. """ ) # ------------------------- TOOL ROUTING LOGIC ------------------------- def choose_tool(user_input: str): text = user_input.lower() if any(k in text for k in ["log", "trigger", "pipeline", "connection"]): return "Fabric_Agent" # return the **tool name** if any(k in text for k in ["openapi", "api call", "pipeline start"]): return "Fabric_Pipeline_Trigger" # return the **tool name** return None forced_tool_name = choose_tool(user_query) # ------------------------- RUN INVOCATION ------------------------- if forced_tool_name: # FORCE a specific connected agent by **function name** run = agents_client.runs.create_and_process( thread_id=st.session_state.thread.id, agent_id=ORCH_AGENT_ID, tool_choice={ "type": "function", # <-- REQUIRED "function": { "name": forced_tool_name # <-- must match the tool's name as registered } } ) else: # Let the orchestrator auto-select (no tool_choice → "auto") run = agents_client.runs.create_and_process( thread_id=st.session_state.thread.id, agent_id=ORCH_AGENT_ID ) Error: azure.core.exceptions.HttpResponseError: (None) Invalid tool_choice: Fabric_Agent. You must also pass this tool in the 'tools' list on the Run. Code: None Message: Invalid tool_choice: Fabric_Agent. You must also pass this tool in the 'tools' list on the Run. Approach 3: Modified version of the 2nd Approach with Took Definitions call: # ------------------------- TOOL ROUTING LOGIC ------------------------- def choose_tool(user_input: str): text = user_input.lower() if any(k in text for k in ["log", "trigger","pipeline","connection"]): # return "Fabric_Agent" return ( "Fabric_Agent", fabric_tool.definitions[0] ) if any(k in text for k in ["openapi", "api call", "pipeline start"]): # return "Fabric_Pipeline_Trigger" return ( "Fabric_Pipeline_Trigger", openapi_tool.definitions[0] ) # No forced routing → let orchestrator decide # return None return (None, None) # forced_tool = choose_tool(user_query) forced_tool_name, forced_tool_def = choose_tool(user_query) # ------------------------- ORCHESTRATOR CALL ------------------------- if forced_tool_name: tool_choice = { "type": "function", "function": { "name": forced_tool_name } } run = agents_client.runs.create_and_process( thread_id=st.session_state.thread.id, agent_id=ORCH_AGENT_ID, tool_choice=tool_choice, tools=[ forced_tool_def ] # << only the specific tool ) else: # no forced tool, orchestrator decides run = agents_client.runs.create_and_process( thread_id=st.session_state.thread.id, agent_id=ORCH_AGENT_ID ) Error: TypeError: azure.ai.agents.operations._patch.RunsOperations.create() got multiple values for keyword argument 'tools'Build Your Ignite Schedule: Top Sessions for Developers
Get Ready for Microsoft Ignite Welcome back to our Azure Tech Community Microsoft Ignite 2025 series! If you joined us for Your Guide to Azure Community Activations at Microsoft Ignite 2025, you already know that Microsoft Ignite isn’t just about product updates, it’s where ideas, innovation, and community come together. With hundreds of sessions across every area of Azure, it can be hard to know where to focus. That’s why we’ve curated a list of sessions tailored specifically for Developers to help you make the most of your time, strengthen your technical strategy, and get inspired for the year ahead. Use the Microsoft Ignite session scheduler feature in the session catalog to personalize your agenda, save your favorites, and organize your time at Microsoft Ignite. Make Every Minute Count: Top Recommended Sessions for Developers Microsoft Ignite moves fast, so it pays to plan your path before you arrive. By organizing your schedule around your interests and goals, you’ll be able to maximize learning opportunities, connect with peers, and leave with actionable insights. The recommendations below highlight our top picks for Developers who want to build, modernize, and innovate using Azure and AI. Reimagining software development with GitHub Copilot and AI agents (BRK105) Discover how AI is transforming the development workflow, from writing code to managing pull requests, and boosting productivity. Build AI Apps fast with GitHub and Azure AI Foundry in action (BRK110) Explore how to build, train, and deploy intelligent apps using GitHub and Azure AI Foundry in record time. Building and deploying data agents in Microsoft Fabric (THR738) Learn how to build, deploy, and manage intelligent data agents in Microsoft Fabric using curated data, Git-powered CI/CD, and best practices for enterprise-scale AI integration. CI/CD for Fabric: Accelerating Lakehouse to production in 25 minutes (THR739) Bring software-engineering rigor to your data with Microsoft Fabric—learn how to use Git-integrated deployment pipelines, parameterized deployments, and automated checks to confidently operationalize your Lakehouse from validation to production. Build A2A and MCP Systems using SWE Agents and agent‑framework (LAB513) Explore how to build, orchestrate, and deploy multi‑agent systems with the new agent‑framework, SWE Agents, and MCP—hands‑on and production‑minded. Before diving into your targeted sessions, make time for these essential moments that set the stage for everything happening at Microsoft Ignite. Opening Keynote (KEY01) Hear from Microsoft leaders as they unveil the latest innovations shaping the future of AI, cloud, and the developer ecosystem. This is the session that sets the tone for the entire event. Innovation Session: Your AI Apps and Agent Factory (BRK1706) Join Microsoft engineering leaders as they explore the foundational AI capabilities powering the Microsoft Cloud. Learn how Azure AI services, Copilot experiences, and responsible AI frameworks come together to help developers and organizations innovate faster Innovation Session: Agents at work: Shaping the future of business (BRK1708) Learn how AI-powered agents and digital workers are reshaping collaboration and productivity. This session showcases real-world use cases across Microsoft 365, Dynamics, and Azure ecosystems. Plan Smarter with the Session Scheduler With the “add to schedule” feature in the session catalog you’ll be able to: Browse and filter all Microsoft Ignite sessions by topic, product, or persona. Save your favorite sessions to build a personalized schedule. Set reminders and block time for networking, community booths, and demos. Stay Connected with the Azure Tech Community Your Microsoft Ignite journey doesn’t stop when the sessions end, the conversation continues across the Azure Tech Community. Share the sessions you’re most excited about using #MSIgnite #AzureTechCommunity, tag azure, and connect with other developers exploring the future of cloud management and security. Follow the Azure Tech Community for real-time updates, announcements, and product news throughout Ignite. See You at Microsoft Ignite 2025 With the right plan in place, every session becomes an opportunity to learn, grow, and connect. Explore these recommendations, save your favorites, and get ready for an unforgettable Microsoft Ignite 2025 experience.264Views1like0CommentsYour Guide to Azure Community Activations at Microsoft Ignite 2025
Microsoft Ignite 2025 is right around the corner! From November 18–21 in San Francisco, we’re excited to bring the Azure community together for four days of learning, connection, and fun! Whether you’re joining us onsite at the Moscone Center or tuning in online, the Community Space will be buzzing with MVP meetups, interactive theater sessions, and plenty of opportunities to network. This is the first in a series of posts highlighting what you can expect at Microsoft Ignite. Today, we’re spotlighting Azure Community activations across Infrastructure, AI, Data, and MVP programs. In upcoming posts, we’ll dive deeper into sessions tailored for IT professionals, developers, and even first-time attendees. Azure Infrastructure Microsoft Ignite is packed with practical insights to help you migrate, modernize, and secure workloads. Learn how to Troubleshoot AKS networking with Agentic AI and strengthen your AI workload resiliency with Azure’s networking stack. Dive into migration best practices with sessions on moving data for analytics, lessons from Azure MVPs, and community insights from real-world projects. And don’t miss the fan favorite: Learn Infrastructure-as-Code through Minecraft —where cloud automation meets creativity. AI & Agents If you’re passionate about AI, the community sessions will put you at the center of what’s next. Connect with peers at the Global AI Community meetup. Get a sneak peek at what’s coming with Azure AI Insiders. Hear directly from MVPs and Microsoft leaders on shaping the future of Azure AI Foundry and how AI is transforming customer innovation. Azure Data For those focused on data, Microsoft Ignite is your chance to learn, influence, and connect. Share your feedback on SQL Server Management Studio and Copilot in SSMS. Bring your toughest questions to a Q&A with Azure Data Leadership. And join the community to explore real-world data intelligence solutions and career-building opportunities across the data ecosystem. MVP Program Interested in becoming a Microsoft MVP or expanding your community impact? Learn how to get nominated and grow your influence in So you want to become an MVP? Join program leads and MVPs to hear their stories in Becoming an MVP in Azure, AI, or the Data Platform. These sessions are the perfect place to start if you’re looking to give back and level up your community journey. Stay Connected Year-Round The conversations doesn't stop after Microsoft Ignite. Join the communities that keep the learning going: AKS Community (Infrastructure) Azure AI Foundry (AI) Global AI Community (AI) Fabric Community (Data) Azure Data Community (Data) Fellow Developers And this is just the beginning. Microsoft Ignite is packed with opportunities to learn from experts, connect with peers, and explore what’s next with Azure. Stay tuned for our upcoming posts, where we’ll share curated session highlights designed for different audiences to help you make the most of your Microsoft Ignite experience. 👉 Be sure to mark your calendar, start building your schedule, and get ready to be inspired at Microsoft Ignite 2025422Views2likes0CommentsIntelligent Conversations: Building Memory-Driven Bots with Azure AI and Semantic Kernel
Discover how memory-driven AI reshapes the way we interact, learn, and collaborate. 💬✨ On October 20th at 8pm CET, we’ll explore how Semantic Kernel, Azure AI Search, and Azure OpenAI models enable bots that remember context, adapt to users, and deliver truly intelligent conversations. 🤖💭 Join Marko Atanasov and Bojan Ivanovski as they dive into the architecture behind context-aware assistants and the future of personalized learning powered by Azure AI. 🌐💡 ✅Save your seat now: https://lnkd.in/dnZSj6Pb42Views0likes0CommentsIntelligent Conversations: Building Memory-Driven Bots with Azure AI and Semantic Kernel
Discover how memory-driven AI reshapes the way we interact, learn, and collaborate. 💬✨ On October 20th at 8pm CET, we’ll explore how Semantic Kernel, Azure AI Search, and Azure OpenAI models enable bots that remember context, adapt to users, and deliver truly intelligent conversations. 🤖💭 Join Marko Atanasov and Bojan Ivanovski as they dive into the architecture behind context-aware assistants and the future of personalized learning powered by Azure AI. 🌐💡 ✅ Save your seat on the following link: https://streamyard.com/watch/DN4thzYripaz182Views0likes0CommentsUnlocking Document Insights with Azure AI 🚀
Every organisation is drowning in documents (contracts, invoices, reports), yet the real challenge lies in extracting meaningful insights from this unstructured information. Imagine turning those files into structured, actionable data with just a few clicks. That’s exactly what we’ll explore in this Microsoft Zero To Hero session: ✨ How Azure Document Intelligence can automate document processing ✨ Ways to enhance data extraction with AI ✨ Seamless integration into Azure’s data platform for end-to-end insights Join us to see how AI-powered automation can save time, reduce manual effort, and unlock the value hidden in your documents. 📌 Don’t miss this opportunity to learn and apply Azure AI in action! 🗓️ Date: 7 October 2025 ⏰ Time: 19:00 (AEDT) 🎙️ Speaker: Akanksha Malik 📌 Topic: Unlocking Document Insights with Azure AI51Views0likes0CommentsAzure Live Voice API and Avatar Creation
In this live event we’re diving into the cutting edge of voice synthesis and avatar tech with Azure’s latest innovations. What’s on the agenda: Deep dive into Azure AI Speech Hands-on with the Azure AI Foundry Speech Playground Live demo: Avatar creation using Azure Live Voice API Whether you're building conversational agents, experimenting with digital personas, or just curious about the future of voice and identity in tech—this session is for you. No registration required Spread the word : https://globalaigr.onestream.live/ #azure #techgroup #live #event #aispeech49Views0likes0Comments🚀✨ Are you ready for a power-packed, productive, and inspiring October? ✨🚀
Here we go, friends! 🎉 The October Calendar is officially here, right on time, as always! 🗓️💯 This month, we’re bringing you a lineup of world-class sessions designed to help you: 🌍 Explore the https://www.linkedin.com/company/101186090/admin/page-posts/published/?share=true# ecosystem from new perspectives 💡 Gain practical skills you can apply immediately 🤝 Connect with experts and a global community of learners 🚀 Stay ahead with the latest innovations in Azure, AI, Power Platform, Security, and beyond. What makes this calendar stand out is the incredible diversity of voices and expertise it brings together. 🌍 You’ll hear from global speakers who share not just theory, but real-world experiences across different industries, giving you insights that truly matter. And the best part? ⏰ No matter where you are in the world, the sessions are scheduled across multiple time zones so you can always join in. Even better, everything is completely free and open, because learning and growth should be accessible to everyone. 💙 🔗 Check out the full list of sessions, register today, and prepare yourself for an amazing month of learning, networking, and growth. 🔥 This isn’t just another calendar, it’s your chance to grow, connect, and be inspired alongside thousands of passionate learners across the globe. 🙌 Let’s make October unforgettable together in the https://www.linkedin.com/company/101186090/admin/page-posts/published/?share=true# way! 💙 📢 https://www.linkedin.com/in/kaspersvenmozartjohansen/ 📅 October 4, 2025 06:00 PM CET 📖 Get started with a modern zero trust remote access solution: Microsoft Global Secure Access 🖇️ https://streamyard.com/watch/3APZGyZFRyQS?wt.mc_id=MVP_350258 📢 https://www.linkedin.com/in/akanksha-malik/ 📅 October 7, 2025 19:00 PM AEST 📅 October 7, 2025 10:00 AM CET 📖 Unlocking Document Insights with Azure AI 🖇️ https://streamyard.com/watch/M6qvUYdv58tt?wt.mc_id=MVP_350258 📢 https://www.linkedin.com/in/rexdekoning/ 📅 October 11, 2025 06:00 PM CET 📖 Azure Functions and network security.. Can it be done? 🖇️ https://streamyard.com/watch/RHzXr5bpYHFY?wt.mc_id=MVP_350258 📢 https://www.linkedin.com/in/jeevarajankumar/ 📅 October 7, 2025 18:00 PM AEST 📅 October 19, 2025 09:00 AM CET 📖 D365 Field Service 101 🖇️ https://streamyard.com/watch/RtDkftSxhn7P?wt.mc_id=MVP_350258 📢 https://www.linkedin.com/in/priyankashah/ 📅 October 21, 2025 19:00 PM AEST 📅 October 21, 2025 10:00 AM CET 📖 FSI and Gen AI: Wealth management advisor with Azure Foundry Agents and MCP 🖇️ https://streamyard.com/watch/Vb5rUWMBN9YN?wt.mc_id=MVP_350258 📢 https://www.linkedin.com/in/monaghadiri/ 📅 October 25, 2025 06:00 PM CET 📖 The Role of Sentence Syntax in Security Copilot: Structured Storytelling for Effective Defence 🖇️ https://streamyard.com/watch/EtPkn2EZkauD?wt.mc_id=MVP_350258138Views0likes0CommentsUnable to locate and add a VM (GPU family) to my available VM options.
I am using azure AI foundry and need to run GPU workload but N-series VM options do not appear when i try to add quota Only CPU families like D and E are listed How can i enable or request N-series GPU VMs in my subscription and region96Views0likes1CommentPower Up Your Open WebUI with Azure AI Speech: Quick STT & TTS Integration
Introduction Ever found yourself wishing your web interface could really talk and listen back to you? With a few clicks (and a bit of code), you can turn your plain Open WebUI into a full-on voice assistant. In this post, you’ll see how to spin up an Azure Speech resource, hook it into your frontend, and watch as user speech transforms into text and your app’s responses leap off the screen in a human-like voice. By the end of this guide, you’ll have a voice-enabled web UI that actually converses with users, opening the door to hands-free controls, better accessibility, and a genuinely richer user experience. Ready to make your web app speak? Let’s dive in. Why Azure AI Speech? We use Azure AI Speech service in Open Web UI to enable voice interactions directly within web applications. This allows users to: Speak commands or input instead of typing, making the interface more accessible and user-friendly. Hear responses or information read aloud, which improves usability for people with visual impairments or those who prefer audio. Provide a more natural and hands-free experience especially on devices like smartphones or tablets. In short, integrating Azure AI Speech service into Open Web UI helps make web apps smarter, more interactive, and easier to use by adding speech recognition and voice output features. If you haven’t hosted Open WebUI already, follow my other step-by-step guide to host Ollama WebUI on Azure. Proceed to the next step if you have Open WebUI deployed already. Learn More about OpenWeb UI here. Deploy Azure AI Speech service in Azure. Navigate to the Azure Portal and search for Azure AI Speech on the Azure portal search bar. Create a new Speech Service by filling up the fields in the resource creation page. Click on “Create” to finalize the setup. After the resource has been deployed, click on “View resource” button and you should be redirected to the Azure AI Speech service page. The page should display the API Keys and Endpoints for Azure AI Speech services, which you can use in Open Web UI. Settings things up in Open Web UI Speech to Text settings (STT) Head to the Open Web UI Admin page > Settings > Audio. Paste the API Key obtained from the Azure AI Speech service page into the API key field below. Unless you use different Azure Region, or want to change the default configurations for the STT settings, leave all settings to blank. Text to Speech settings (TTS) Now, let's proceed with configuring the TTS Settings on OpenWeb UI by toggling the TTS Engine to Azure AI Speech option. Again, paste the API Key obtained from Azure AI Speech service page and leave all settings to blank. You can change the TTS Voice from the dropdown selection in the TTS settings as depicted in the image below: Click Save to reflect the change. Expected Result Now, let’s test if everything works well. Open a new chat / temporary chat on Open Web UI and click on the Call / Record button. The STT Engine (Azure AI Speech) should identify your voice and provide a response based on the voice input. To test the TTS feature, click on the Read Aloud (Speaker Icon) under any response from Open Web UI. The TTS Engine should reflect Azure AI Speech service! Conclusion And that’s a wrap! You’ve just given your Open WebUI the gift of capturing user speech, turning it into text, and then talking right back with Azure’s neural voices. Along the way you saw how easy it is to spin up a Speech resource in the Azure portal, wire up real-time transcription in the browser, and pipe responses through the TTS engine. From here, it’s all about experimentation. Try swapping in different neural voices or dialing in new languages. Tweak how you start and stop listening, play with silence detection, or add custom pronunciation tweaks for those tricky product names. Before you know it, your interface will feel less like a web page and more like a conversation partner.1.1KViews2likes1Comment