Skip to content

itgithubplatform/nlp_query_engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿง  NLP Query Engine โ€” Complete Setup Guide ๐Ÿš€ Overview

This project is a Smart NLP Query Engine that supports:

โœ… Normal Queries (like โ€œcount employeesโ€, โ€œlist all IT department employeesโ€)

๐Ÿค– Hybrid Queries (mix of natural and structured queries)

๐Ÿ“„ PDF Upload Support โ€” Extracts data from uploaded PDFs and allows querying on it

โšก Fast Response Time displayed on frontend

๐Ÿ’พ Cache System (HIT / MISS) for performance tracking

๐Ÿงฎ Styled Table Output for better readability

๐Ÿ—๏ธ Project Structure nlp_query_engine_submit/ โ”‚ โ”œโ”€โ”€ backend/ โ”‚ โ”œโ”€โ”€ main.py โ”‚ โ”œโ”€โ”€ data/ โ”‚ โ”œโ”€โ”€ uploads/ โ”‚ โ””โ”€โ”€ requirements.txt โ”‚ โ”œโ”€โ”€ frontend/ โ”‚ โ”œโ”€โ”€ app.py โ”‚ โ””โ”€โ”€ pages/ โ”‚ โ””โ”€โ”€ README.md

โš™๏ธ Backend Setup 1๏ธโƒฃ Navigate to backend folder cd backend

2๏ธโƒฃ Create and activate virtual environment For Windows PowerShell: python -m venv venv .\venv\Scripts\Activate.ps1

For CMD: python -m venv venv venv\Scripts\activate

3๏ธโƒฃ Install dependencies pip install fastapi uvicorn python-multipart pandas PyPDF2

4๏ธโƒฃ Run the backend server

Make sure main.py contains:

from fastapi import FastAPI app = FastAPI()

Then run:

uvicorn main:app --reload

If running from root directory:

uvicorn backend.main:app --reload

Backend will start at: ๐Ÿ‘‰ http://127.0.0.1:8000

๐Ÿ–ฅ๏ธ Frontend Setup 1๏ธโƒฃ Navigate to frontend folder cd ../frontend

2๏ธโƒฃ Install Streamlit and dependencies pip install streamlit pandas requests

If any extra package missing:

pip install streamlit-extras

3๏ธโƒฃ Run the frontend app streamlit run app.py

Frontend will start at: ๐Ÿ‘‰ http://localhost:8501

๐Ÿ” Full Workflow

Run backend โ†’ uvicorn main:app --reload

Run frontend โ†’ streamlit run app.py

Upload PDF file (optional)

Enter your normal or hybrid query

See instant output with:

Cache info (HIT / MISS)

Response time

Table view results

๐Ÿงฉ PDF Query Example

Upload a PDF like:

Employee_Name | Department | Salary Ravi IT 50000 Sneha HR 60000

Then query:

list all employees in IT department

โ†’ Output: List of employees from IT department with salaries.

๐Ÿง  Troubleshooting Error Solution Error loading ASGI app Make sure app = FastAPI() exists in main.py No module named 'PyPDF2' Run pip install PyPDF2 streamlit_extras not found Run pip install streamlit-extras Access denied while activating venv Run PowerShell as Administrator No detailed results found Check PDF format or ensure backend connected properly

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages