Author: ultroni1

  • Understand data warehouses in Fabric

    Fabric’s Lakehouse is a collection of files, folders, tables, and shortcuts that act like a database over a data lake. It’s used by the Spark engine and SQL engine for big data processing and has features for ACID transactions when using the open-source Delta formatted tables.

    Fabric’s data warehouse experience allows you to transition from the lake view of the Lakehouse (which supports data engineering and Apache Spark) to the SQL experiences that a traditional data warehouse would provide. The Lakehouse gives you the ability to read tables and use the SQL analytics endpoint, whereas the data warehouse enables you to manipulate the data.

    In the data warehouse experience, you’ll model data using tables and views, run T-SQL to query data across the data warehouse and Lakehouse, use T-SQL to perform DML operations on data inside the data warehouse, and serve reporting layers like Power BI.

    Now that you understand the basic architectural principles for a relational data warehouse schema, let’s explore how to create a data warehouse.

    dynamics 365 supply chain training courses malaysia
  • Understand data warehouse fundamentals

    The process of building a modern data warehouse typically consists of:

    • Data ingestion – moving data from source systems into a data warehouse.
    • Data storage – storing the data in a format that is optimized for analytics.
    • Data processing – transforming the data into a format that is ready for consumption by analytical tools.
    • Data analysis and delivery – analyzing the data to gain insights and delivering those insights to the business.

    Microsoft Fabric enables data engineers and analysts to ingest, store, transform, and visualize data all in one tool with both a low-code and traditional experience.

    Understand Fabric’s data warehouse experience

    Fabric’s data warehouse is a relational data warehouse that supports the full transactional T-SQL capabilities you’d expect from an enterprise data warehouse. It’s a fully managed, scalable, and highly available data warehouse that can be used to store and query data in the Lakehouse. Using the data warehouse, you’re fully in control of creating tables, loading, transforming, and querying data using either the Fabric portal or T-SQL commands. You can use SQL to query and analyze the data, or use Spark to process the data and create machine learning models.

    Data warehouses in Fabric facilitate collaboration between data engineers and data analysts, working together in the same experience. Data engineers build a relational layer on top of data in the Lakehouse, where analysts can use T-SQL and Power BI to explore the data.

    Design a data warehouse

    Like all relational databases, Fabric’s data warehouse contains tables to store your data for analytics later. Most commonly, these tables are organized in a schema that is optimized for multidimensional modeling. In this approach, numerical data related to events (e.g. sales orders) are grouped by different attributes (e.g. date, customer, store). For instance, you can analyze the total amount paid for sales orders that occurred on a specific date or at a particular store.

    Tables in a data warehouse

    Tables in a data warehouse are typically organized in a way that supports efficient and effective analysis of large amounts of data. This organization is often referred to as dimensional modeling, which involves structuring tables into fact tables and dimension tables.

    Fact tables contain the numerical data that you want to analyze. Fact tables typically have a large number of rows and are the primary source of data for analysis. For example, a fact table might contain the total amount paid for sales orders that occurred on a specific date or at a particular store.

    Dimension tables contain descriptive information about the data in the fact tables. Dimension tables typically have a small number of rows and are used to provide context for the data in the fact tables. For example, a dimension table might contain information about the customers who placed sales orders.

    In addition to attribute columns, a dimension table contains a unique key column that uniquely identifies each row in the table. In fact, it’s common for a dimension table to include two key columns:

    • surrogate key is a unique identifier for each row in the dimension table. It’s often an integer value that is automatically generated by the database management system when a new row is inserted into the table.
    • An alternate key is often a natural or business key that identifies a specific instance of an entity in the transactional source system – such as a product code or a customer ID.

    You need both surrogate and alternate keys in a data warehouse, because they serve different purposes. Surrogate keys are specific to the data warehouse and help to maintain consistency and accuracy in the data. Alternate keys on the other hand are specific to the source system and help to maintain traceability between the data warehouse and the source system.

    Special types of dimension tables

    Special types of dimensions provide additional context and enable more comprehensive data analysis.

    Time dimensions provide information about the time period in which an event occurred. This table enables data analysts to aggregate data over temporal intervals. For example, a time dimension might include columns for the year, quarter, month, and day in which a sales order was placed.

    Slowly changing dimensions are dimension tables that track changes to dimension attributes over time, like changes to a customer’s address or a product’s price. They’re significant in a data warehouse because they enable users to analyze and understand changes to data over time. Slowly changing dimensions ensure that data stays up-to-date and accurate, which is imperative to making good business decisions.

    dynamics 365 sales training courses malaysia
  • Use concurrent orchestration

    Concurrent orchestration lets multiple agents work on the same task at the same time. Each agent handles the task independently, and then their outputs are gathered and combined. This method works especially well when you want diverse approaches or solutions, like during brainstorming, group decision-making, or voting.

    Diagram of concurrent orchestration flow.

    This pattern is useful when you need different approaches or ideas to solve the same problem. Instead of having agents work one after another, they all work at the same time. This speeds up the process and covers the problem from many angles.

    Usually, the results from each agent are combined to create a final answer, but this isn’t always necessary. Each agent can also produce its own separate result, like calling tools to complete tasks or updating different data stores independently.

    Agents work on their own and don’t share results with each other. However, an agent can call other AI agents by running its own orchestration as part of its process. Agents need to know which other agents are available to work on tasks. This pattern allows you to either call all registered agents every time or choose which agents to run based on the specific task.

    When to use concurrent orchestration

    You may want to consider using the concurrent orchestration pattern in these situations:

    • When tasks can run at the same time, either by using a fixed group of agents or by selecting AI agents dynamically based on what the task needs.
    • When the task benefits from different specialized skills or approaches (for example, technical, business, or creative) that all work independently but contribute to solving the same problem.

    This kind of teamwork is common in multi-agent decision-making methods such as:

    • Brainstorming ideas
    • Combining different reasoning methods (ensemble reasoning)
    • Making decisions based on voting or consensus (quorum)
    • Handling tasks where speed matters and running agents in parallel cuts down wait time

    When to avoid concurrent orchestration

    You may want to avoid using the concurrent orchestration pattern in the following scenarios:

    • Agents need to build on each other’s work or depend on shared context in a specific order.
    • The task requires a strict sequence of steps or predictable, repeatable results.
    • Resource limits, like model usage quotas, make running agents in parallel inefficient or impossible.
    • Agents can’t reliably coordinate changes to shared data or external systems while running at the same time.
    • There’s no clear way to resolve conflicts or contradictions between results from different agents.
    • Combining results is too complicated or ends up lowering the overall quality.
    dynamics 365 finance training courses malaysia
  • Understand agent orchestration

    The Microsoft Agent Framework SDK’s agent orchestration framework makes it possible to design, manage, and scale complex multi-agent workflows without having to manually handle the details of agent coordination. Instead of relying on a single agent to manage every aspect of a task, you can combine multiple specialized agents. Each agent with a unique role or area of expertise can collaborate to create systems that are more robust, adaptive, and capable of solving real-world problems collaboratively.

    By orchestrating agents together, you can take on tasks that would be too complex for a single agent—from running parallel analyses, to building multi-stage processing pipelines, to managing dynamic, context-driven handoffs between experts.

    Why multi-agent orchestration matters

    Single-agent systems are often limited in scope, constrained by one set of instructions or a single model prompt. Multi-agent orchestration addresses this limitation by allowing you to:

    • Assign distinct skills, responsibilities, or perspectives to each agent.
    • Combine outputs from multiple agents to improve decision-making and accuracy.
    • Coordinate steps in a workflow so each agent’s work builds on the last.
    • Dynamically route control between agents based on context or rules.

    This approach opens the door to more flexible, efficient, and scalable solutions, especially for real-world applications that require collaboration, specialization, or redundancy.

    Supported orchestration patterns

    Microsoft Agent Framework provides several orchestration patterns directly in the SDK, each offering a different approach to coordinating agents. These patterns are designed to be technology-agnostic so you can adapt them to your own domain and integrate them into your existing systems.

    • Concurrent orchestration – Broadcast the same task to multiple agents at once and collect their results independently. Useful for parallel analysis, independent subtasks, or ensemble decision making.
    • Sequential orchestration – Pass the output from one agent to the next in a fixed order. Ideal for step-by-step workflows, pipelines, and progressive refinement.
    • Handoff orchestration – Dynamically transfer control between agents based on context or rules. Great for escalation, fallback, and expert routing where one agent works at a time.
    • Group chat orchestration – Coordinate a shared conversation among multiple agents (and optionally a human), managed by a chat manager that chooses who speaks next. Best for brainstorming, collaborative problem solving, and building consensus.
    • Magentic orchestration – A manager-driven approach that plans, delegates, and adapts across specialized agents. Suited to complex, open-ended problems where the solution path evolves.
    dynamics 365 field service training courses malaysia

  • Understand the Microsoft Agent Framework

    The Microsoft Agent Framework is an open-source SDK that enables developers to integrate AI models into their applications. This framework provides comprehensive support for creating AI-powered agents that can work independently or collaborate with other agents to accomplish complex tasks.

    What is the Microsoft Agent Framework?

    The Microsoft Agent Framework is designed to help developers build AI-powered agents that can process user inputs, make decisions, and execute tasks autonomously by leveraging large language models and traditional programming logic. The framework provides structured components for defining AI-driven workflows, enabling agents to interact with users, APIs, and external services seamlessly.

    Core concepts

    The Microsoft Agent Framework provides a flexible architecture with the following key components:

    • AgentsAgents are intelligent, AI-driven entities capable of reasoning and executing tasks. They use large language models, tools, and conversation history to make decisions dynamically and respond to user needs.
    • Agent orchestrationMultiple agents can collaborate towards a common goal using different orchestration patterns. The Microsoft Agent Framework supports several orchestration patterns with a unified interface for construction and invocation, allowing you to easily switch between patterns without rewriting your agent logic.

    The framework includes several core features that power agent functionality:

    • Chat clientsChat clients provide abstractions for connecting to AI services from different providers under a common interface. Supported providers include Azure OpenAI, OpenAI, Anthropic, and more through the BaseChatClient abstraction.
    • Tools and function integrationTools enable agents to extend their capabilities through custom functions and built-in services. Agents can automatically invoke tools to integrate with external APIs, execute code, search files, or access web information. The framework supports both custom function tools and built-in tools like Code Interpreter, File Search, and Web Search.
    • Conversation managementAgents can maintain conversation history across multiple interactions using AgentThread, allowing them to track previous interactions and adapt responses accordingly. The structured message system uses roles (USER, ASSISTANT, SYSTEM, TOOL) for persistent conversation context.
    dynamics 365 customer service training courses malaysia
  • How to use Azure AI Foundry Agent Service

    Azure AI Foundry Agent Service is a fully managed service designed to empower developers to securely build, deploy, and scale high-quality, extensible AI agents without needing to manage the underlying compute and storage resources. This unit covers the purpose, benefits, key features, and integration capabilities of Azure AI Foundry Agent Service.

    Purpose of Azure AI Foundry Agent Service

    The Foundry Agent Service allows developers to create AI agents tailored to their needs through custom instructions and advanced tools like code interpreters and custom functions. These agents can answer questions, perform actions, or automate workflows by combining generative AI models with tools that interact with real-world data sources. The service simplifies the development process by reducing the amount of code required and managing the underlying infrastructure.

    Previously, developers could create an agent-like experience by using standard APIs in Azure AI Foundry and connect to custom functions or other tools, but doing so would take a significant coding effort. Foundry Agent Service handles all of that for you through AI Foundry to build agents via the portal or in your own app in fewer than 50 lines of code. The exercise in the module explores both methods of building an agent.

    Foundry Agent Service is ideal for scenarios requiring advanced language models for workflow automation. It can be used to:

    • Answer questions using real-time or proprietary data sources.
    • Make decisions and perform actions based on user inputs.
    • Automate complex workflows by combining generative AI models with tools that interact with real-world data.

    For example, an AI agent can be created to generate reports, analyze data, or even interact with users through apps or chatbots, making it suitable for customer support, data analysis, and automated reporting.

    devops certification training courses malaysia
  • Examples of AI agent use cases

    AI agents have a wide range of applications across various industries. Here are some notable examples:

    Personal productivity agents

    Personal productivity agents assist individuals with daily tasks such as scheduling meetings, sending emails, and managing to-do lists. For instance, Microsoft 365 Copilot can help users draft documents, create presentations, and analyze data within the Microsoft Office suite.

    Research agents

    Research agents continuously monitor market trends, gather data, and generate reports. These agents can be used in financial services to track stock performance, in healthcare to stay updated with the latest medical research, or in marketing to analyze consumer behavior.

    Sales agents

    Sales agents automate lead generation and qualification processes. They can research potential leads, send personalized follow-up messages, and even schedule sales calls. This automation helps sales teams focus on closing deals rather than administrative tasks.

    Customer service agents

    Customer service agents handle routine inquiries, provide information, and resolve common issues. They can be integrated into chatbots on websites or messaging platforms, offering instant support to customers. For example, Cineplex uses an AI agent to process refund requests, significantly reducing handling time and improving customer satisfaction.

    Developer agents

    Developer agents help in software development tasks such as code review, bug fixing, and repository management. They can automatically update codebases, suggest improvements, and ensure that coding standards are maintained. GitHub Copilot is a great example of a developer agent.

    dell emc training courses malaysia
  • What is an AI agent

    An AI agent is a software service that uses generative AI to understand and perform tasks on behalf of a user or another program. These agents use advanced AI models to understand context, make decisions, utilize grounding data, and take actions to achieve specific goals. Unlike traditional applications, AI agents can operate independently, executing complex workflows and automating processes without the need of constant human intervention. The evolution of generative AI enables agents to behave intelligently on our behalf, transforming how we can use and integrate these agents.

    Understanding what an AI agent is and how to utilize them is crucial for effectively using AI to automate tasks, make informed decisions, and enhance user experiences. This knowledge enables organizations to deploy AI agents strategically, maximizing their potential to drive innovation, improve efficiency, and achieve business objectives.

    Why Are AI agents useful?

    AI agents are incredibly useful for several reasons:

    • Automation of Routine Tasks: AI agents can handle repetitive and mundane tasks, freeing up human workers to focus on more strategic and creative activities. This leads to increased productivity and efficiency.
    • Enhanced Decision-Making: By processing vast amounts of data and providing insights, AI agents support better decision-making. They can analyze trends, predict outcomes, and offer recommendations based on real-time data. AI Agents can even use advanced decision-making algorithms and machine learning models to analyze data and make informed decisions autonomously. This allows them to handle complex scenarios and provide actionable insights, whereas generative AI chat models primarily focus on generating text-based responses.
    • Scalability: AI agents can scale operations without the need for proportional increases in human resources. This is beneficial for businesses looking to grow without significantly increasing operational costs.
    • 24/7 Availability: Like all software, AI agents can operate continuously without breaks, ensuring that tasks are completed promptly and customer service is available around the clock.
    hadoop training courses malaysia

  • How to integrate custom tools

    Custom tools in an agent can be defined in a handful of ways, depending on what works best for your scenario. You may find that your company already has Azure Functions implemented for your agent to use, or a public OpenAPI specification gives your agent the functionality you’re looking for.

    Function Calling

    Function calling allows agents to execute predefined functions dynamically based on user input. This feature is ideal for scenarios where agents need to perform specific tasks, such as retrieving data or processing user queries, and can be done in code from within the agent. Your function may call out to other APIs to get additional information or initiate a program.

    Example: Defining and using a function

    Start by defining a function that the agent can call. For instance, here’s a fake snowfall tracking function:

    PythonCopy

    import json
    
    def recent_snowfall(location: str) -> str:
        """
        Fetches recent snowfall totals for a given location.
        :param location: The city name.
        :return: Snowfall details as a JSON string.
        """
        mock_snow_data = {"Seattle": "0 inches", "Denver": "2 inches"}
        snow = mock_snow_data.get(location, "Data not available.")
        return json.dumps({"location": location, "snowfall": snow})
    
    user_functions: Set[Callable[..., Any]] = {
        recent_snowfall,
    }
    

    Register the function with your agent using the Azure AI SDK:

    PythonCopy

    # Initialize agent toolset with user functions
    functions = FunctionTool(user_functions)
    toolset = ToolSet()
    toolset.add(functions)
    agent_client.enable_auto_function_calls(toolset=toolset)
    
    # Create your agent with the toolset
    agent = agent_client.create_agent(
        model="gpt-4o-mini",
        name="snowfall-agent",
        instructions="You are a weather assistant tracking snowfall. Use the provided functions to answer questions.",
        toolset=toolset
    )
    

    The agent can now call recent_snowfall dynamically when it determines that the prompt requires information that can be retrieved by the function.

    Azure Functions

    Azure Functions provide serverless computing capabilities for real-time processing. This integration is ideal for event-driven workflows, enabling agents to respond to triggers such as HTTP requests or queue messages.

    Example: Using Azure Functions with a queue trigger

    First, develop and deploy your Azure Function. In this example, imagine we have a function in our Azure subscription to fetch the snowfall for a given location.

    When your Azure Function is in place, integrate add it to the agent definition as an Azure Function tool:

    PythonCopy

    storage_service_endpoint = "https://<your-storage>.queue.core.windows.net"
    
    azure_function_tool = AzureFunctionTool(
        name="get_snowfall",
        description="Get snowfall information using Azure Function",
        parameters={
                "type": "object",
                "properties": {
                    "location": {"type": "string", "description": "The location to check snowfall."},
                },
                "required": ["location"],
            },
        input_queue=AzureFunctionStorageQueue(
            queue_name="input",
            storage_service_endpoint=storage_service_endpoint,
        ),
        output_queue=AzureFunctionStorageQueue(
            queue_name="output",
            storage_service_endpoint=storage_service_endpoint,
        ),
    )
    
    agent = agent_client.create_agent(
        model=os.environ["MODEL_DEPLOYMENT_NAME"],
        name="azure-function-agent",
        instructions="You are a snowfall tracking agent. Use the provided Azure Function to fetch snowfall based on location.",
        tools=azure_function_tool.definitions,
    )
    citrix training courses malaysia
  • Options for implementing custom tools

    Azure AI Foundry Agent Service offers various custom tools that enhance the capabilities and efficiency of your AI agents. These tools allow for scalable interoperability with various applications, making it easier to integrate with existing infrastructure or web services.

    Custom tool options available in Azure AI Foundry Agent Service

    Azure AI services provide several custom tool options, including OpenAPI specified tools, Azure Functions, and function calling. These tools enable seamless integration with external APIs, event-driven applications, and custom functions.

    • Custom function: Function calling allows you to describe the structure of custom functions to an agent and return the functions that need to be called along with their arguments. The agent can dynamically identify appropriate functions based on their definitions. This feature is useful for integrating custom logic and workflows, in a selection of programming languages, into your AI agents.
    • Azure Functions: Azure Functions enable you to create intelligent, event-driven applications with minimal overhead. They support triggers and bindings, which simplify how your AI Agents interact with external systems and services. Triggers determine when a function executes, while bindings facilitate streamlined connections to input or output data sources.
    • OpenAPI specification tools: These tools allow you to connect your Azure AI Agent to an external API using an OpenAPI 3.0 specification. This provides standardized, automated, and scalable API integrations that enhance the capabilities of your agent. OpenAPI specifications describe HTTP APIs, enabling people to understand how an API works, generate client code, create tests, and apply design standards.
    • Azure Logic Apps: This action provides low-code/no-code solutions to add workflows and connects apps, data, and services with the low-code Logic App.
    citrix certification malaysia