HausaTaxBot to help Hausa language speaking individuals to understand the new tax Law Better
---
# HausaTaxBot 🇳🇬
**Mataimakin Haraji na Najeriya cikin Harshen Hausa**
A Hausa-language tax chatbot for Nigerian tax questions built with retrieval-augmented generation and machine learning.
## Features
- **Hausa Language Support** - Natural interaction in Hausa language with proper preprocessing
- **Semantic Retrieval** - Multiple encoders (c-TF-IDF, TF-IDF, ColBERT) with cosine similarity matching
- **Confidence Calibration** - Three-tier confidence scoring (HIGH/MEDIUM/LOW) to prevent hallucinations
- **Intent Classification** - Optional SVM or FastKAN-based intent classification
- **Embedding Caching** - 50x performance improvement with persistent caching (~10ms per query)
- **Model Comparison** - Comprehensive evaluation framework for academic analysis
- **Production Ready** - Error handling, logging, diagnostics
## Live Demo
### Chat Interface - Interactive Q&A in Hausa
### App Homepage - Model Selection & Knowledge Base
**Try it live:** Access the Streamlit Cloud deployment (link in deployment section below)
## Quick Start
### Local Development
```bash
# Clone repository
git clone
cd HausaTaxBot
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run Streamlit app
streamlit run streamlit_app.py
```
### Deploy to Streamlit Cloud (Free )
1. **Push to GitHub** (see section below)
2. Go to Streamlit Cloud
3. Sign in with GitHub
4. Click "New app"
5. Select repository and main branch
6. Set file path to `streamlit_app.py`
7. Click "Deploy"
**Benefits of Streamlit Community Cloud:**
- Unlimited public apps
- Always free
- Auto-deployment on git push
- Custom domain support
- Community apps showcase
## Push to GitHub
### Step 1: Create GitHub Repository
1. Go to github.com
2. Click "+" → "New repository"
3. Name: `HausaTaxBot` (or your choice)
4. Make it **Public** (required for Streamlit free tier)
5. Click "Create …