Announcing the winners of RAGHack 2024!
We’re excited to announce the winners of RAGHack, a hackathon which challenged developers to build applications using RAG (Retrieval Augmented Generation), a technique that can get LLMs to ground their responses in your own data. If you missed the hackathon, you can still catch up with the 25+ live streams.
We loved seeing developers use so many different technologies to build their hacks, across four languages (Python, JavaScript, .NET, Java) and five Azure data stores (Azure Cosmos DB, Azure SQL, Azure Database for PostgreSQL, Azure AI Search). Developers built RAG hacks across a range of domains: business, sports, travel, wellness, education, social, entertainment, academia, and more!
We saw so many impressive hacks, but judges managed to narrow the list down from 80+ to 10 for our prizes. Check out the winners below!
Best Overall: DocAssistant.Charty
DocAssistant.Charty is an amazing tool that ingests Azure SQL database schemas by indexing them with Azure AI Search, and can then answer questions by using Azure OpenAI to generate SQL statements, charts, and summary answers.
We’ve seen countless customers ask for this sort of functionality over the past year, and we’re excited to see an open-source solution showcasing a user-friendly approach to answering analytic questions on a database.
Technology used: .NET, Azure AI Search, Cosmos DB, Azure SQL, Azure OpenAI
Best in PostgreSQL: Football-Analysis-Copilot
This RAG application demonstrates the power of RAG on a PostgreSQL database, using both the azure_ai and azure_local_ai extensions for generating embeddings, plus the pgvector extension for searching embeddings across multiple tables. The app can answer questions about football (known as “soccer” in America), based on data ingested from external sources.
Judges loved how the app was very customizable, including multiple options for vector search indexes and Azure OpenAI models, to help determine the best combination of parameters.
Technology used: Python, Azure Database for PostgreSQL Flexible Server, Azure OpenAI
Best in Azure SQL: UniChatbot
UniChatBot can not only answer a student’s questions about available courses for their major, but it can also enroll them in those courses, and even select course times that won’t overlap with each other. The tool stores all the student, course, and enrollment information in an Azure SQL database, and then determines which SQL queries to execute using OpenAI function calling. The possible functions are defined using Pydantic schemas in the Python backend code, and then mapped to corresponding Azure SQL queries. Judges liked this alternative approach to using an LLM to interact with the contents of a database.
Technology used: Python, Azure SQL, Azure OpenAI
Best in Cosmos DB: Discord Community Agent
CoMA is a Discord bot that makes it easy for folks to connect with other community members over shared interests and to find answers based on past Discord conversations. CoMA stores user data and documentation in both Cosmos DB and Azure AI Search, and uses the Azure OpenAI Assistants API to answer questions from Discord users. Judges liked seeing the integration of RAG into the platforms where users are already asking questions, and the use of technology to bring people together.
Technology used: TypeScript, Azure AI Search, Azure Cosmos DB, Azure Cosmos DB, Discord.js
Best in Azure AI Search: Manufacturing Support Bot
This chatbot provides support to manufacturing operators using Azure services. The code includes a custom indexer for Azure AI Search, hosted on Azure Functions, that ingests data from an Azure SQL database and vectorizes it with Azure OpenAI. The chat application is built with Azure AI Bot Service.
Judges loved the addition of a “Please rate the answer” step for each question, since user feedback is an important aspect of building RAG applications, and one that is often overlooked.
See: Video | Code | Submission
Technology used: Python, AI Search, Azure SQL, Azure AI Bot Service, Azure Functions, Azure App Service
Best in Python: StoryWeave
StoryWeave is an interactive text-based game, powered by vector search on Azure Database for PostgreSQL and calls to OpenAI models. The app first ingests a story, such as “Beauty and the Beast”, chunks it into paragraphs, vectorizes the chunks, and stores them in the database. At the same time, it uses a GPT model to generate a list of characters, plus their strengths and weaknesses. The player can then choose a character as their own, and start to interact with the world, choosing actions from a generated list. The adventure unfolds with the combination of vector search and GPT calls. Judges loved how this app uses RAG in a very different way from most submissions.
Technology used: Python, Azure Database for PostgreSQL, Azure App Service, Docker, Streamlit, Blob Storage
Best in .NET: ContosoTravelAgency
Contoso Travel Agency is an advanced travel planning system using a multi-agent architecture, built with Semantic Kernel and Azure Durable Functions. When a request comes in from the user, the ManagerAgent chooses which sub-agent to use, such as FlightAgent or WeatherAgent. Then the agent can search a data store, like FlightAgent searching Azure Cosmos DB for matching flights. All of these agents are powered by Azure OpenAI GPT models to select the right actions and return user-friendly responses as needed. Plus, the Cosmos DB database is enhanced with native vector embeddings, so it can also handle semantic searches. Judges loved how the combined power of many simple agents into a sophisticated architecture.
Technology used: .NET, Azure Cosmos DB, Azure Durable Functions, Azure Redis Cache, Semantic Kernel, Blazor, Postmark
Best in Java: Paper Mentor AI
Paper Mentor AI streamlines the research process by answering questions and generating summaries based on a vector store of indexed research papers. The data ingestion process uses Azure Document Intelligence to extract text, then uses Spring AI to vectorize the text and store them inside a PostgreSQL database. The backend uses Spring Boot to search the vector store and make OpenAI calls, while the frontend uses Next.JS to call the backend. Judges liked that the solution is both practically useful and comprehensive in its implementation.
Technology used: Java, Spring Boot, Azure Document Intelligence, PostgreSQL, OpenAI
Best in Javascript: Learning Path Certifications Builder
This application helps job-seekers to identify the skills that they’re missing for their desired jobs and to find certifications from the Microsoft Learn catalog that will build those skills. The app uses an Azure SQL database filled with data about Microsoft Learn certifications. When the user uploads their resume and desired job description, the app searches the database using a full-text search and Azure OpenAI to make suggestions based off the matching rows. The judges appreciated the original idea, and the use of RAG for a non-chat-oriented user experience.
Technology used: JavaScript, Azure SQL, Azure Data Studio, Azure OpenAI, NestJS, React, Fluent UI
Best in Azure AI Studio: MyFitnessBuddy – AI powered Fitness Assistant
MyFitnessBuddy is an app that provides personalized workout routines and meal plans. The application combines traditional RAG (using Azure AI Search) with Graph RAG (using the Gremlin API to pull graph-structured data out of Azure Cosmos DB). The RAG flow is orchestrated in Azure AI Studio, with two endpoints: one for query rewriting based on intent, and the other for answering the question in a personalized manner.
Technology used: Python, Azure AI Studio, Azure AI Search, Azure Cosmos DB, Streamlit
Microsoft Tech Community – Latest Blogs –Read More