Spaces:
Running
title: Smart Advisor
emoji: π
colorFrom: blue
colorTo: green
sdk: docker
app_port: 7860
pinned: false
Smart Advisor for DS and AI Students
A voice-enabled Arabic RAG-based academic advisor for new and prospective Data Science and AI students at the University College of Applied Sciences (UCAS).
π About
The Smart Advisor is a graduation project that helps students who just graduated from high school get instant, accurate advice about the Data Science and AI specialization at UCAS β admission requirements, study plan, career paths, and scholarships. Unlike generic AI tools (ChatGPT, Gemini), our system grounds every answer in official UCAS documents β eliminating hallucination β and supports both text and Arabic voice input.
Phase 1 (Completed): Research, literature review, methodology design.
Phase 2 (Completed): Implementation, evaluation, and deployment. The system is fully built, tested, and merged into main.
π§ How It Works
Student speaks/types question
β
Speech-to-Text (Whisper Arabic)
β
RAG Pipeline (retrieval + generation)
β
Text-to-Speech (Arabic TTS)
β
Student receives spoken/text answer
Every step is grounded in official UCAS documents stored in a vector database (ChromaDB). If the system can't find a confident answer, it routes the question to a human advisor instead of guessing.
π₯ Team
| Member | Role | Focus |
|---|---|---|
| Fatma Alzahraa Alhabbash | Project Lead + Backend Architect | RAG pipeline Β· retrieval logic Β· LLM integration Β· fallback mechanism |
| Roaa Alhaddad | Data Engineer | Data collection for the knowledge base Β· FAQ surveys Β· document processing |
| Saja Abdalaal | Voice & NLP Engineer | STT Β· TTS Β· NLP preprocessing |
| Shahd Ethalathini | Frontend + Knowledge Base Engineer | UI Β· KB chunking Β· embedding generation Β· storing embeddings in ChromaDB |
Supervisor: Dr. Sanaa Al-Sayegh Institution: University College of Applied Sciences β Gaza
ποΈ Repository Structure
smart-advisor/
βββ docs/ Documentation, reports
βββ data/ Raw and processed data (mostly gitignored)
βββ src/
β βββ knowledge_base/ Document processing β chunking β embeddings β ChromaDB
β βββ rag/ Retrieval and generation pipeline
β βββ voice/ STT and TTS modules
β βββ ui/ FastAPI backend + Gradio interface
β βββ utils/ Shared helpers (logging, config)
βββ notebooks/ Jupyter experiments
π Getting Started
Prerequisites
- Python 3.10 or higher
- Git
- ~5GB free disk space (for model weights)
- (Optional) GPU for faster STT inference
Setup
Clone the repository
git clone https://github.com/smart-advisor-ucas/smart_advisor.git cd smart-advisorCreate a virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activateInstall dependencies
pip install -r requirements.txtConfigure environment variables
cp .env.example .env # Open .env and fill in your API keysAdd the ChromaDB knowledge base The
data/chroma_db/folder is not tracked in GitHub (it's git-ignored). Create it and populate it before running the backend. Without this step, the backend will start but retrieval will fail because the collection won't exist.Run the backend
uvicorn src.ui.main:app --reload --port 8000Swagger docs are available at
http://127.0.0.1:8000/docs.Run the interface
cd src/ui/frontend npm install npm run devThe React frontend talks to the backend over the
/chat,/chat/reset, and/chat/history/{session_id}endpoints.
Branch Strategy
We use a simple branching model:
- main β protected, only updated via pull requests
- integration/merge-all β integration branch where all feature branches merge first
- feature/rag β backend RAG pipeline work
- feature/frontend-ui β UI work
- feature/voice β STT/TTS work
β Testing
- Unit testing was carried out at the end of each development phase, on each component in isolation (retrieval, metadata filtering, fallback logic, profile extraction, etc.) before it was merged.
- Integration/overall testing was performed after all feature branches (
feature/rag,feature/frontend-ui,feature/voice) were merged intomain, to validate the end-to-end flow from onboarding through retrieval to fallback escalation. - Test cases and results are tracked under
tests/.
π Documentation
π License
This project is licensed under the MIT License β see LICENSE for details.
π Acknowledgments
- Dr. Sanaa Al-Sayegh, our supervisor, for invaluable guidance throughout the project.
- The Department of Computer Engineering at UCAS for academic support.
- The open-source NLP community whose tools make this project possible.
Built with β€οΈ by the Smart Advisor team β UCAS, Gaza, 2025-2026