1. Project Description
2. Project Goals
3. Reading Resources
4. Development Setup
5. Contributing
Imagine having a digital assistant that can chat with you like a real person, providing you with instant and relevant information whenever you need it. That's the power of an AI virtual assistant and our vision is inspired by J.A.R.V.I.S (Iron Man's AI assistant). We want to create a virtual assistant that can help you with your day-to-day tasks, such as finding information on the web, scheduling meetings, and more.
The overall workflow of a virtual assistant starts with voice or text interaction. If the input was voice, it is converted into text and then use that text to find the intent of the user. Once we have the intent, we can use it to find the relevant information and respond back to the user. The response can be in the form of text or voice, depending on the user's preference.
- Create a virtual assistant that can chat with you like a real person
- Provide instant and relevant information whenever you need it
- Help you with your day-to-day tasks, such as finding information on the web, scheduling meetings, and more
If you've never heard about prompt engineering, Chain of Thought (CoT), Retrieval Augmented Generation (RAG), or ReAct, it is recommended to learn the basics from the following list of resources:
- Prompt Engineering Guide
- Extra Reading: The Rise and Potential of Large Language Model Based Agents: A Survey
After reading all of these resources, you will have all of the theoretical knowledge required to design an LLM-powered virtual assistant! Now it is coding time 🎉🎉
-
Create a
.env
file with your Azure API credentials -
Create and activate a virtual environment
python3 -m venv venv && . venv/bin/activate
- Install dependencies
pip install -r requirements.txt
Follow the steps in CONTRIBUTING.md
to contribute to this project.