This hackathon will provide a deep dive experience targeted for developers by integrating AI solutions into applications. Hackathon is a collaborative learning experience, designed as a set of challenges to practice your technical skills. By participating in this hackathon, you will be able to understand the capabilities of integrating AI services into applications.
This workshop requires two full days to finish depending on the attendees' skill level. It is a collaborative activity where attendees form teams of 3-5 people to go through every workshop.
Upon completing the workshop, participants will be able to:
- Understand the fundamentals of Retrieval Augmented Generation (RAG) and its implementation using Azure OpenAI.
- Integrate Azure AI Search with RAG to enhance AI applications with contextually relevant data.
- Design and build a copilot system utilizing prompt flow in Azure AI Studio for efficient user interaction.
- Develop intelligent applications using Azure Open AI SDK.
- Develop intelligent applications using Semantic Kernel in either C# or Python, incorporating AI prompts seamlessly.
- Develop a Natural Language to SQL intelligent application.
- Apply the learned concepts to create innovative solutions that address real-world challenges across industries.
- Familiarity with Azure services and the Azure portal.
- Basic understanding of AI and generative models.
- Experience in programming with C# or Python
- Your laptop (development machine): Win, MacOS or Linux that you have administrator rights.
- Active Azure Subscription with Contributor access to create or modify resources.
- Access to Azure OpenAI in the desired Azure subscription.
- Latest version of Azure CLI
- Latest version of Visual Studio or Visual Studio Code
- .NET 8.0 SDK or later version
The intended audience are individuals with coding skills.
- AI Engineers
- Software Developers
- Solution Architects
Challenge 0: Setup and prepare Environment
- Install the required development tools. This initial session is crucial to ensure that all participants are well-prepared and can fully engage with the workshop's content.
- Dive into the world of RAG and learn how to enhance your AI applications by integrating Azure OpenAI’s capabilities. This session will guide you through the process of implementing RAG with Azure AI Search, enabling your applications to leverage external data sources for grounded and contextually relevant responses.
Challenge 2: Use prompt flow to query on own data with Search AI.
- Discover how to create a responsive QnA system using prompt flow, allowing for intuitive and efficient user interactions with your AI solutions.
Challenge 3: Start coding with Azure OpenAI SDK.
- Use Azure OpenAI SDK to start coding your intelligent apps. The Azure OpenAI SDK is a set of client libraries that allows developers to interact with Azure AI Services. This service provides access to powerful foundational models, with the security and enterprise capabilities of Azure.
- Unlock the potential of Semantic Kernel in developing intelligent applications. Whether you prefer C# or Python, this session will provide you with the knowledge to incorporate Semantic Kernel into your applications, facilitating seamless integration of AI prompts with conventional programming languages for smarter, more responsive applications.
Challenge 5: Observability in Semantic Kernel
- When you build AI solutions, you want to be able to observe the behavior of your services. Observability is the ability to monitor and analyze the internal state of components within a distributed system. It is a key requirement for building enterprise-ready AI solutions.
Challenge 6: Use Cosmos DB as a Vector DB.
- Use Cosmos DB as a Vector Database for grounding your own data. A vector database stores and manages vector embeddings for records, which are used in similarity search and Retrieval-Augmented Generation (RAG). CosmosDB allows you to store vectors directly in documents alongside traditional schema-free data, enabling efficient indexing and searching. This colocation of data and vectors simplifies data management, AI application architectures, and enhances the efficiency of vector-based operations.
(Optional) Challenge 7: Basic Natural Language to SQL with Semantic Kernel
- Practice how to convert natural language queries into SQL statements by using Semantic Kernel .This challenge will help you understand how to translate user requests into precise SQL queries that can be executed on a database by passing the sql schema into LLM context window.
- After completing the basic scenario of converting natural language to SQL queries, the next step is to optimise the solution by implementing the RAG pattern. This involves not passing the entire SQL schema in the LLM context. Instead, you will use the Semantic Kernel's ability to decide which table schemas to include. Additionally, you will enable the Semantic Kernel to execute SQL queries and display the results to the user.
- This challenge encourages creative thinking about AI applications in various industries and their impact on solving real-world problems.
(Optional) Challenge 10: Deploy your intelligent app as a web chatbot
- Are you feeling too comfortable and eager to do more? This additional challenge will push your skills further by deploying your NL to SQL application to Azure as a web chatbot.
- Create a project and use the chat playground in Azure AI Studio - Azure AI Studio | Microsoft Learnage
- Deploy an Enterprise Chat web app in the Azure AI Studio playground - Azure AI Studio | Microsoft Learn
- Implement Retrieval Augmented Generation (RAG) with Azure OpenAI
- Use your own data with Azure OpenAI Service - Azure OpenAI | Microsoft Learn
- Build and deploy a question and answer copilot with prompt flow in Azure AI Studio
- Getting Started with Semantic Kernel
- Develop AI agents using Azure OpenAI and the Semantic Kernel SDK - Training | Microsoft Learn
- MSLearn - Develop AI Agents with Azure OpenAI and Semantic Kernel-SDK
- Develop AI apps using Azure AI services
./Student
- Student's Challenge Guide
./Student/Resources
- Resource files, sample code, scripts, etc meant to be provided to students. (Must be packaged up by the coach and provided to students at start of event)
./Coach
- Coach's Guide and related files
./Coach/Solutions
- Solution files with completed example answers to a challenge
- Please note that the content of this workshop may become outdated, as Azure AI is a rapidly evolving platform. We recommend staying engaged with the Azure AI community for the most current updates and practices.
- Phanis Parpas
- Sakis Rokanas
- Rodanthi Alexiou
- Bojan Vrhovnik