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
.env
file in bothbackend
andfrontend
directories 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
backend
directory:cd backend
-
Start the backend server:
fastapi run server.py
-
Navigate to the
frontend
directory:cd frontend
-
Start the frontend server:
npm run dev
.gitignore
LICENSE
README.md
.env
.gitignore
.mock.env
requirements.txt
server.py
configs/
__pycache__/
llm_config.py
postgres_config.py
models/
__pycache__/
db.py
message_store.py
sessions.py
users.py
routers/
AuthRouter/
Handlers/
LoginHandler.py
SignUpHandler.py
__init__.py
__init__.py
BotRouter/
Handlers/
BotHandler.py
FetchHandler.py
__init__.py
DTconverter.py
prompt.py
router.py
ChartRouter/
__init__.py
documents/
pictures/
QueryGenie/
Slide1.PNG
Slide2.PNG
Slide3.PNG
Slide4.PNG
Slide5.PNG
Slide6.PNG
Slide7.PNG
Slide8.PNG
Slide9.PNG
Slide10.PNG
analytics.png
database.png
maindashboard.png
userprofile.png
QueryGenie - Video.mp4
QueryGenie.pdf
QueryGenie.pptx
.env
.eslintrc.json
.gitignore
.mock.env
.next/
jsconfig.json
next.config.mjs
package.json
postcss.config.mjs
public/
README.md
tailwind.config.js
src/
app/
chat/
[chatId]/
page.js
components/
DatabaseList.js
DatabasePopup.js
Profile.js
Sidebar.js
context/
ChatContext.js
dashboard/
page.js
fonts/
globals.css
layout.js
page.js
userDetails.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.