# 🤖 Telecom-Egypt-mini-chatbot
A production-ready RAG-powered intelligent chatbot for Telecom Egypt that answers customer questions using the official website as the primary knowledge base.
## Demo
## 📹 Project Demo
## Presentation
## Project Presentation
## Key Features
- **Multi-lingual Support**: Handles Arabic (Modern Standard & Egyptian dialect) and English
- **RAG-Powered**: Uses Retrieval Augmented Generation for accurate, grounded responses
- **Document Upload**: Supports PDF, DOCX, TXT, HTML, and images (with OCR)
- **Hybrid Retrieval**: Combined (Dense + Sparse[BM25]) search.
- **Source Citations**: All answers include references to original sources
- **Web-Based Interface**: Professional Streamlit chat interface
## Tech Stack
- **Frontend**: Streamlit
- **LLM**: Groq API (llama-3.3-70b-versatile)
- **Vector DB**: Qdrant Cloud
- **Embeddings**: HuggingFace (`intfloat/multilingual-e5-large`)
- **Scraping**: Scrapy
- **Document Processing**: `PyPDF2`, `python-docx`, `BeautifulSoup`
## Project Structure
```
Telecom-Egypt-mini-chatbot/
├── src/
│ ├── data_chunking/ # Text chunking logic
│ ├── data_extraction/ # Scrapy and Document processing
│ │ └── data_extraction_scrapy/ # Scrapy project for web scraping
│ │ └── data_extraction_processing/ # Document processing logic
│ ├── data_indexer/ # Logic to index data into Qdrant
│ ├── qdrant_vector_store_DB/ # Qdrant client manager
│ ├── streamlit_app.py # Main Streamlit Application UI
│ ├── main_setup.py # Script for setup and scraping pipeline
│ ├── requirements.txt # Python dependencies
│ └── qdrant_db/ # Local fallback for vector store
├── LICENSE # License file
└── README.md # Project Documenta …