Talk it, query it, done!
QueryGenie is an advanced tool that converts natural language prompts (both text and voice inputs) to SQL queries. It manages the usage based on token counts and cost incurred, along with detailed analytics for each user profile.
YouTube Link - Click here to watch the YouTube video
Executive Challenge - "Chat with your data" token utilization and cost monitoring challenge
- Team Members
- Features
- Innovation
- Microsoft Tools
- Installation
- Configuration
- Usage
- Screenshots
- Project Structure
- Contributing
- License
- RS Kierthana
- Aruthra S
- Arun Pranav A T
- Converts natural language prompts to SQL queries.
- Supports both text and voice inputs.
- Tracks token counts and cost incurred.
- Provides detailed analytics for each user profile.
- Notifies users when token limit is nearing based on set limits.
- Allows any form of databases to be linked.
- Considers history of the chat when required.
- Click on the title to view this project presentation saved in the format of pdf.
- Provides detailed analytics for each user profile while existing projects concentrates only on natural language prompts to SQL queries.
- Follows separate notification system while existing projects lack them.
- History can be deleted supporting responsible AI while existing projects could have missed them.
- SQL Queries generated are read out loud which supports visually impaired users.
- Prompts can be given in form of voice too for those who find it difficult to type.
- Azure Database for PostgreSQL (Database)
- Azure OpenAI (AI)
- Azure App Service (Hosting)
- Azure Authentication (Authentication)
- Python (Backend)
- Next.js (JavaScript - Frontend)
- Github Copilot
- Git and Github
- LangChain
-
Clone the repository:
https://github.com/arunpranav-at/QueryGenie.git cd QueryGenie -
Install the required dependencies:
pip install -r backend/requirements.txt npm install --prefix frontend
-
Set up the environment variables:
Copy the
.envfile in bothbackendandfrontenddirectories and fill in the required values.cp backend/.mock.env backend/.env cp frontend/.mock.env frontend/.env
The backend configuration files are located in the backend/configs directory.
llm_config.py: Configuration for the language model.postgres_config.py: Configuration for the PostgreSQL database.
The frontend configuration files are located in the root directory of the frontend.
next.config.mjs: Next.js configuration.postcss.config.mjs: PostCSS configuration.tailwind.config.js: Tailwind CSS configuration.
-
Navigate to the
backenddirectory:cd backend -
Start the backend server:
fastapi run server.py
-
Navigate to the
frontenddirectory:cd frontend -
Start the frontend server:
npm run dev
.gitignoreLICENSEREADME.md
.env.gitignore.mock.envrequirements.txtserver.py
configs/__pycache__/llm_config.pypostgres_config.py
models/__pycache__/db.pymessage_store.pysessions.pyusers.py
routers/AuthRouter/Handlers/LoginHandler.pySignUpHandler.py__init__.py
__init__.py
BotRouter/Handlers/BotHandler.pyFetchHandler.py__init__.py
DTconverter.pyprompt.pyrouter.py
ChartRouter/__init__.py
documents/pictures/QueryGenie/Slide1.PNGSlide2.PNGSlide3.PNGSlide4.PNGSlide5.PNGSlide6.PNGSlide7.PNGSlide8.PNGSlide9.PNGSlide10.PNG
analytics.pngdatabase.pngmaindashboard.pnguserprofile.png
QueryGenie - Video.mp4QueryGenie.pdfQueryGenie.pptx
.env.eslintrc.json.gitignore.mock.env.next/jsconfig.jsonnext.config.mjspackage.jsonpostcss.config.mjspublic/README.mdtailwind.config.js
src/app/chat/[chatId]/page.js
components/DatabaseList.jsDatabasePopup.jsProfile.jsSidebar.js
context/ChatContext.js
dashboard/page.js
fonts/globals.csslayout.jspage.jsuserDetails.js
We welcome contributions! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature-branch). - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.



