Blog Post

Microsoft Developer Community Blog
13 MIN READ

RAGHack 2024: Recordings and slides!

Pamela_Fox's avatar
Pamela_Fox
Icon for Microsoft rankMicrosoft
Dec 20, 2024

Earlier this year, we held RAGHack, a global hackathon which included more than 30 live streams across multiple spoken languages and programming languages. Thanks to talks from engineers, product managers, cloud solution architects, and advocates, we learnt how to develop RAG with a wide range of Azure technologies, like AI Search, Cosmos DB, PostgreSQL, Azure SQL, and Azure Communications Services.

If you missed seeing the RAGHack streams live, you can catch up by watching the streams and downloading the slides, using the links below! 👇

Want to catch our next live series about RAG? Register for RAG Deep Dive, a series in January/February that will go deep into our most popular RAG solution for Azure.

English streams

RAG 101

📺 Watch YouTube recording

An intro to RAGHack, a global hackathon to develop apps using LLMs and RAG. A large language model (LLM) like GPT-4 can be used for summarization, translation, entity extraction, and question-answering. Retrieval Augmented Generation (RAG) is an approach that sends context to the LLM so that it can provide grounded answers. RAG apps can be developed on Azure using a wide range of programming languages and retrievers (such as AI Search, Cosmos DB, PostgreSQL, and Azure SQL). Get an overview of RAG in this session before diving deep in our follow-up streams.

🔗 Helpful links:

RAG with .NET

📺 Watch YouTube recording

Learn how to develop apps using RAG with .NET and Semantic Kernel. We'll walk through our .NET RAG solution, showing the process of data ingestion with Azure Document Intelligence and AI Search, then walking through the RAG steps of query rewriting, hybrid search, and question answering. You'll learn how to easily bring your own data into the RAG solution, and how to customize the prompts and Blazor UI for your domain. 

Presented by Jordan Matthiesen (PM in .NET), Luis Quintanilla (PM in .NET), Bruno Capuano (Advocate for .NET)

🔗 Helpful links:

RAG with Azure AI Studio

📺 Watch YouTube recording

Learn how to build a RAG-based custom copilot end-to-end using Azure AI Studio, code-first. We'll walk through "Contoso Chat", a retail copilot scenario with product and customer data. We'll explore prompt engineering using prompty assets, orchestration with promptflow flex-flows and automated provisioning and deployment with azd. You'll learn how to build & test your copilot locally (in VS Code), then deploy & test it in production on Azure.

Presented by Leah Bar-On Simmons (Azure AI PM) and Nitya Narasimhan (Azure AI Advocate) 

🔗 Helpful links:

RAG with Python

📺 Watch YouTube recording

Learn how to develop apps using RAG with Python and the OpenAI SDK. We'll walk through our most popular RAG solution, showing the process of data ingestion with Azure Document Intelligence and AI Search, then walking through the RAG steps of query rewriting, hybrid search, and question answering. You'll learn how to easily bring your own data into the RAG solution, and how to customize the prompts and UI for your domain.

Presented by Pamela Fox, Developer Advocate for Python

🔗 Helpful links:

RAG with Langchain4J

📺 Watch YouTube recording

Langchain4J is a great way to use large language models from Java, and is modeled on the most popular Python orchestrator, Langchain. Learn how to use Langchain4J to build a RAG solution, connecting to different LLMs, embedding models, and vector stores. We'll share multiple open-source solutions so that you can get started with Langchain4J today. 

Presented by Julien Dubois, Principal Manager of Java Developer Relations at Microsoft

🔗 Helpful links:

RAG with LangchainJS

📺 Watch YouTube recording

Learn how to develop RAG apps with JavaScript and TypeScript, using both the OpenAI SDK and LangchainJS. We'll demonstrate multiple RAG starter apps with different architectures, including static web apps with serverless backends. You'll learn how to bring your own data into these RAG solutions and customize for your domain.

Presented by Glaucia Lemos and Yohan Lasorsa, from the JavaScript Developer Advocacy team at Microsoft

🔗 Helpful links:

Scalable RAG with CosmosDB for NoSQL

📺 Watch YouTube recording

Join us to learn about building scalable RAG applications using Azure Cosmos DB for NoSQL! Learn foundational concepts, generate embeddings with Azure OpenAI, process, store, and search over document data in Azure Cosmos DB leveraging vector similarity search using DiskANN, a vector indexing method that enable fast and cost-efficient vector search at any scale!

Presented by James Codella, Product Manager for Cosmos DB

🔗 Helpful links:

Responsible AI

📺 Watch YouTube recording

Join us as we tackle the challenge of embedding ethical principles and diversity into AI conversational platforms! We'll explore Microsoft's cool tools and practices for building responsible AI, with examples straight from our toolkit on the Responsible AI Tools and Practices page. See live demos showcasing importance of "Responsible AI", including examples of models and use cases that violate the principles. You'll walk away with practical insights and tools to create AI solutions that boost brand trust and open up new markets.

Presented by Rory Preddy, Java Developer Advocate

🔗 Helpful links:

RAG on Cosmos DB MongoDB

📺 Watch YouTube recording

Learn how to build a RAG app using vCore-based Azure Cosmos DB for MongoDB and its new vector search capabilities. We'll walk through a Python web app that uses the LangChain package to orchestrate a RAG flow in order to answer questions about a restaurant's data.

Presented by Khelan Modi, Product Manager on Azure Cosmos DB team, and John Aziz, Software Developer and Microsoft MVP

🔗 Helpful links:

RAG with Azure AI Search

📺 Watch YouTube recording

Azure AI Search is a powerful search engine, with many features designed specifically for RAG applications. We'll demonstrate optimal retrieval using hybrid search with the semantic ranker, show the new integrated vectorization feature for cloud-based data ingestion, and discuss vector storage optimization.

Presented by Farzad Sunavala, Product Manager on Azure AI Search, and Pamela Fox, Developer Advocate for Python

🔗 Helpful links:

RAG on PostgreSQL

📺 Watch YouTube recording

Discover the many ways you can build RAG applications on top of Azure Database for PostgreSQL Flexible Servers. We'll start by using the pgvector extension for vector similarity search. Then we'll explore the new azure_ai extension which provides built-in functions for embeddings, summarization, sentiment analysis, and more. Finally, we'll demo the new azure_local_ai extension to efficiently run pre-trained models on our database server, which can be a great fit for RAG applications that require custom embedding models. 

Presented by Joshua Johnson, Principal TPM on Azure PostgreSQL, and Pamela Fox, Developer Advocate for Python

🔗 Helpful links:

RAG on Azure SQL Server

📺 Watch YouTube recording

How do you build a RAG solution on data already stored in SQL Server or Azure SQL? In this session you'll learn about existing and future options that you can start to use right tomorrow, leveraging Azure SQL as a vector store and taking advantage of its established performances, security and enterprise readiness!

Presented by Davide Mauri, Principal Product Manager on Azure SQL DB

🔗 Helpful links:

Intro to GraphRAG

📺 Watch YouTube recording

In this presentation, you'll gain an understanding of GraphRAG, a technique that enhances document analysis and question-and-answer performance by leveraging large language models (LLMs) to create knowledge graphs. We'll explore how GraphRAG builds upon Retrieval-Augmented Generation (RAG) by using knowledge graphs instead of vector similarity for retrieval. You'll learn how to set up the environment, prepare data, and implement GraphRAG using LangChain, with practical code examples. Additionally, we'll explore some advanced features and customization options available in LangChain to optimize and tailor GraphRAG to your specific needs.

Presented by John Alexander, Content Developer and Apurva Mody, Principal Program Manager

🔗 Helpful links:

Add multi-channel communication in RAG apps

📺 Watch YouTube recording

In this session, we will explore how to enhance your Retrieval-Augmented Generation (RAG) applications by integrating various communication channels, including chat, voice, SMS, and WhatsApp, using Azure Communication Services. By connecting the intelligence of a RAG app with these channels, you can create more versatile and user-friendly AI solutions. We'll show you how to implement these integrations to improve user engagement by using their preferred mode of communication.

Presented by Milan Kaur, Product Manager at Microsoft

🔗 Helpful links:

RAG with Java + Semantic Kernel

📺 Watch YouTube recording

Learn how to develop apps using RAG with Java and Semantic Kernel. We'll walk through our RAG solution, showing the process of data ingestion with Azure Document Intelligence and AI Search, then walking through the RAG steps of query rewriting, hybrid search, and question answering. You'll learn how to easily bring your own data into the RAG solution and deploy it to Azure.

Presented by Bruno Borges (Product Manager, Java), Davide Antelmo (Cloud Solution Architect, Java), John Oliver (Software Engineer, Semantic Kernel)

🔗 Helpful links:

RAG with Java + Spring AI

📺 Watch YouTube recording

Artificial Intelligence is an amazing thing, but it gets even smarter when you can point it at your data. In this session, you'll learn how easy it can be to tap into the wealth of domain knowledge locked up in your organization's documents using RAG (Retrieval Augmented Generation) with Java and Spring AI. You have the power!

Presented by Mark Heckler, Java Cloud Advocate

🔗 Helpful links:

RAG with vision models

📺 Watch YouTube recording

What do you do when the documents for your RAG app include images, like graphs or photos? You first need to generate embeddings using a multimodal model, like the one available from Azure Computer Vision, search those embeddings using a powerful vector search like Azure AI Search, and then send any retrieved text and images to a multimodal LLM like GPT-4o. Learn how to get started quickly with a RAG on multimodal documents in this session. 

Presented by Pamela Fox, Python Advocate at Microsoft

🔗 Helpful links:

Internationalization for RAG apps

📺 Watch YouTube recording

Building a RAG app for a non-English audience? Fortunately, language models and embedding models is that they understand a wide range of languages. Unfortunately, they have a bias towards English, so you need to choose your approach carefully when deploying them in other languages. In this session, we'll dive into tokenization, optimal data chunking strategies, and other best practices for internationalization.

Presented by Anthony Shaw, Python Cloud Advocate and Renee Noble, Regional Cloud advocate

🔗 Helpful links:

Use Phi-3 to create a VSCode chat agent extension

📺 Watch YouTube recording

Have you used a GitHub Copilot chat agent, like the powerful @workspace? You can build your own agent like that, to answer questions about your own domain or functionality. In this session, we'll show how you can quickly create your own customized GitHub Copilot Chat Agent Extension through the GitHub Copilot Chat Agent API combined with the Phi-3 model.

Presented by Kinfey Lo, Cloud Advocate

🔗 Helpful links:

Agentic RAG with Langchain

📺 Watch YouTube recording

RAG (Retrieval Augmented Generation) is the most common approach used to get LLMs to answer questions grounded in a particular domain's data. Learn how to use Langchain, the most popular Python package for LLM orchestration, to build a RAG application with Python and Azure OpenAI. Discover how to use agentic flows in Langchain to build more complex RAG workflows.

Presented by Marlene Mhangami, Developer Advocate for Python

🔗 Helpful links:

Build an OpenAI code interpreter for Python

📺 Watch YouTube recording

Discover how to build a Python code interpreter tool using Azure OpenAI for the code generation and Azure Container Apps Dynamic Sessions for sandboxed code execution. See how the popular Langchain package makes it easy to generate step-by-step code generation, and how the default Dynamic Sessions environments can call popular third-party libraries like pandas and numpy.

Presented by Anthony Chu, Product Manager for Azure Container Apps

🔗 Helpful links:

Connections in Azure AI Studio

📺 Watch YouTube recording

Dive into the essentials of connecting AI and ML solutions using Azure AI Studio. This session will guide you through setting up AI Studio with best practices for security and access management, highlighting connections to key services such as Azure Cognitive Services, Azure Search, and Azure Storage Accounts. Whether you're implementing RAG chatbots or deploying models, discover how to protect your resources and ensure compliance across your enterprise. This session will highlight solutions from the Microsoft AI-In-a-Box framework.

Presented by Chris Ayers, Customer Engineer, and Marco Aurelio Cardoso, Customer Engineer

🔗 Helpful links:

Explore AutoGen concepts with AutoGen Studio

📺 Watch YouTube recording

In this session we will explore some of AutoGen foundational concepts such as enhanced inference, code executors, and more advanced concepts such as Agents and Agent flows. The session will leverage code both in Jupyter Notebooks and the Autogen Studio code. Session objectives: Basic understanding of some of the AutoGen's foundational and intermediate concepts Basic understanding of the AutoGen Studio code Building applications with AutoGen 

Presented by Alex Morales, Customer Engineering Manager at Microsoft

🔗 Helpful links:

RAG with Data Access Control

📺 Watch YouTube recording

With a RAG approach, the app first searches a knowledge base for relevant matches to a user's query, then sends the results to the LLM along with the original question. What if you have documents that should only be accessed by a subset of your users, like a group or a single user? Then you need data access controls to ensure that document visibility is respected during the RAG flow. In this session, we'll show an approach using Azure AI Search with data access controls to only search the documents that can be seen by the logged in user. We'll also demonstrate a feature for user-uploaded documents that uses data access controls along with Azure Data Lake Storage Gen2. 

Presented by Matt Gotteiner, Product Manager for Azure AI Search, and Pamela Fox, Developer Advocate for Python

🔗 Helpful links:

RAFT: (RAG + Fine Tuning) in Azure AI Studio

📺 Watch YouTube recording

RAG is a very good domain adaptation technic but sometimes doesn't meet quality expectations. RAFT (Retrieval augmented fine-tuning) is a new hybrid approach to LLM domain adaptation that combines RAG and fine-tuning. In this session, you'll learn how to implement RAFT using Azure AI Studio and its fine tuning capabilities.

Presented by Cedric Vidal, AI Advocate for Startups

🔗 Helpful links:

Pick the right model for the right job

📺 Watch YouTube recording

Building RAG and trying to decide what model to use? There are an increasing number of high-quality large language models available, many of which are now available from Azure AI, like OpenAi, Mistral, Cohere, Llama, Phi-3, and more. Which one do you use, and how do you easily switch between them? In this talk, we'll show you how to use the Azure AI inference SDK as well as orchestration libraries like Llamaindex to run the same code with different models. We'll talk about what models work best for different stages of RAG, plus how you can evaluate your choice.

Presented by Facundo Santiago, Azure AI Product Manager

🔗 Helpful links:

Evaluating your RAG Chat App

📺 Watch YouTube recording

How can you be sure that your RAG application's answers are accurate, clear, and well formatted? Evaluation! In this session, we'll show you how to use Azure AI Studio and the Promptflow SDK to generate synthetic data and run bulk evaluations on your RAG app. Learn about different GPT metrics like groundedness and fluency, and consider other ways you can measure the quality of your RAG app answers. 

Presented by Pamela Fox, Python Advocate

🔗 Helpful links:

Spanish sessions:

RAG: Generación Aumentada de Recuperación

📺 Watch YouTube recording

Una introducción a RAGHack, un hackathon global para desarrollar aplicaciones utilizando modelos de lenguaje grandes (LLM) y RAG. Se puede utilizar un modelo de lenguaje grande (LLM) como GPT-4 para realizar resúmenes, traducciones, extracciones de entidades y respuestas a preguntas. La generación aumentada de recuperación (RAG) es un enfoque que envía contexto al LLM para que pueda proporcionar respuestas fundamentadas. Las aplicaciones RAG se pueden desarrollar en Azure utilizando una amplia gama de lenguajes de programación y recuperadores (como AI Search, Cosmos DB, PostgreSQL y Azure SQL). Esta sesión brindará una descripción general de RAG y demostrará una aplicación RAG de muestra que puede comenzar a usar hoy mismo.

🔗 Helpful links:

RAG: Prácticas recomendadas de Azure AI Search

📺 Watch YouTube recording

Azure AI Search es un potente motor de búsqueda con muchas funciones diseñadas específicamente para aplicaciones RAG. Analizaremos cómo funcionan los vectores de embeddings y la búsqueda vectorial, y demostraremos una devolución óptima mediante la búsqueda híbrida con el clasificador semántico.

🔗 Helpful links:

AI Multi-Agentes: Patrones, Problemas y Soluciones

📺 Watch YouTube recording

En esta sesión, compartiremos los desafíos y patrones que hemos identificado a partir de nuestras experiencias al extender aplicaciones empresariales del mundo real y transformarlas en soluciones inteligentes mediante el uso de multi-agentes. Exploraremos en detalle las cuestiones técnicas involucradas en llevar a producción soluciones multi-agentes, y cómo estas pueden potenciar la funcionalidad de las aplicaciones existentes. 

🔗 Helpful links:

Portuguese sessions:

RAG (Geração Aumentada de Busca) no Azure

📺 Watch YouTube recording

Uma introdução ao RAGHack, um hackathon global para desenvolver aplicativos usando LLMs e RAG. Um modelo de linguagem grande (LLM) como GPT-4 pode ser usado para resumo, tradução, extração de entidade e resposta a perguntas. A Geração Aumentada de Busca (RAG) é uma abordagem que envia contexto ao LLM para que ele possa fornecer respostas fundamentadas. Os aplicativos RAG podem ser desenvolvidos no Azure usando uma ampla variedade de linguagens de programação e recuperadores (como AI Search, Cosmos DB, PostgreSQL e Azure SQL). Nesta sessão, daremos uma visão geral do RAG e demonstraremos uma solução RAG totalmente funcional que você pode começar a usar hoje mesmo.

Speaker: Marco Cardoso - Engenheiro de Data & AI na Microsoft

🔗 Helpful links:

Construindo RAG com Azure AI Studio e Python

📺 Watch YouTube recording

Aprenda a criar um copiloto personalizado baseado em RAG de ponta a ponta usando o Azure AI Studio. Vamos percorrer o "Contoso Chat", um cenário de copiloto de varejo com dados de produtos e clientes. Exploraremos a engenharia de prompt usando ativos do prompty, orquestração com flex-flows do promptflow e você aprenderá a criar e testar seu copiloto localmente (no VS Code) e, em seguida, implantá-lo e testá-lo em produção no Azure.

Speaker: Pablo Lopes - AI Developer Advocate na Microsoft

🔗 Helpful links:

Implantando RAG com .NET e Azure Developer CLI

📺 Watch YouTube recording

Aprenda a criar um aplicativo de RAG com .NET. Exploramos o engenharia de prompt usando Prompty e orquestração com Semantic Kernel. Descubra como usar o Azure Developer CLI para o provisionamento e implantação automatizados a Azure Container Apps. 

Speaker: Andre Dewes – Senior Customer Engineer na Microsoft

🔗 Helpful links:

Published Dec 20, 2024
Version 1.0
  • edchuy's avatar
    edchuy
    Brass Contributor

    Interesting to note that that during the event, Phi-3 was the most recent one available. Now, it's Phi-4. I assume the difference in doing things between the models will be that great, right?