microsoft / RAG_Hack

Hack Together: RAG Hack | Register, Learn, Hack
MIT License
402 stars 84 forks source link

Project: Custom Copilot Full Stack App #92

Open kuljotSB opened 2 months ago

kuljotSB commented 2 months ago

Project Name

Custom Copilot Full Stack App

Description

the project has two approaches/paradigms to it:

1)The project can be made to act as your personal AI assistant that has access to your Microsoft graph API and can answer stuff like what meetings are scheduled for you, what was the last mail in your inbox and even send an email on your behalf to someone. This personal AI assistant uses Microsoft Graph API OBO (On-Behalf-Of) User flow to create an out-of-the box RAG approach with the Semantic Kernel SDK acting as the orchestration and agentic engine.

2)The project can also be made to act as a chatbot for a hotel booking agency answering questions like: how is the Creek Hotel in Dubai, are the hotels in Las Vegas any good by referencing information using the indexing capabilities of Azure AI Search that point to PDF documents stored in Azure Storage Account.

The project uses Semantic Kernel SDK as the overall orchestration and agentic engine. The frontend for this project as been written in react.js and the backend is a simple yet native .NET backend API.

copilot_app_architecture (1)

Personal AI Assistant Approach

The application is registered in Microsoft Entra ID so that it can use OBO (On-Behalf-Of) User flow to access data from User's Microsoft Graph API. Upon activating the personal AI assistant, the user first signs in to his account using device code flow thus giving a bearer access token to the application that the application can use to access user's data from the Microsoft Graph API.

When the user asks a question like: What meetings are scheduled for me?, the query is first handled by the Semantic Kernel SDK which decides to call the specified Microsoft Graph endpoint for retrieving calendar events for the user; the calendar events are then sent to the GPT-4 engine for summarization and the response is finally sent to the user.

This particular proof-of-concept gives RAG a new out of the box approach with data retrieval from the Microsoft Graph API.

Chatbot for a hotel booking agency

The project can also act as a chatbot for hotel booking agency assisting users to select hotels based upon reviews given by various reviewers that have stayed in the specified hotels in the past.

The grounding content is in form of PDF documents stored in Azur Storage Account and uses Azure Ai Search for indexing these unstructured PDF documents.

So when the user enters a query like: How is the Creek Hotel in Dubai, the query goes to Azure Ai Search, gets triggered there and then retrieves the content and the document URL of the most relevant document. The information is then sent to GPT-4 for summarization and the user is presented with the relevant answer with the document URL as well to have a look at.

Who Can Benefit From My Project

The project is aimed at providing an idea about how you can create a personal AI assistant for your own personal goals and benefits as well as a chatbot for a large enterprise to increase the overall consumer experience.

Technology & Languages

Project Repository URL

https://github.com/kuljotSB/copilotFullStackApp

Deployed Endpoint URL

No response

Project Video

https://youtu.be/Oce_w-hjEG8

Team Members

kuljotSB (linkedin - https://www.linkedin.com/in/kuljot-bakshi-69101826b/ )

multispark commented 1 month ago

Hello @kuljotsb, thank you for participating in RAG Hack!

The team is working hard to distribute badges. Please have each team member fill out this form: aka.ms/raghack/badge-dist

Thank you!