🇹🇳 Tunisian Insurance Chatbot
A dialect-aware, multimodal RAG chatbot for Tunisian insurance queries
Features •
Architecture •
Getting Started •
Model Training •
Docs
---
## 📸 Screenshots
📱 Gallery: Agentic Workflow & Observability
| Complex Query | User Profile |
|:---:|:---:|
| | |
| Document Upload | Observability Trace (Jaeger) |
|:---:|:---:|
| | |
---
## 🎯 Overview
This project delivers a production-ready conversational AI assistant tailored for the **Tunisian insurance market**. Unlike generic chatbots, it natively understands:
- **Tunisian Darija** — The spoken dialect mixing Arabic, French, and Berber
- **Arabizi** — Latin-script encoding of Arabic (`3` = ع, `7` = ح, `9` = ق)
- **Code-switching** — Seamless transitions between languages mid-sentence
> *Example:* `"Aandi sinistre fel pare-choc, chnowa l'procédure?"` → The system understands this as an insurance claim inquiry about bumper damage.
---
## 🙏 Acknowledgments
- This project was developed as part of a **Projet Tutoré** at SUP'COM (Higher School of Communication of Tunis) under the supervision of:
**Firas Ben Hassan** — Program Owner of AllianzGPT at Allianz Technology, Munich. His expertise in enterprise-scale Generative AI systems provided invaluable guidance for this project's architecture and implementation.
- Unsloth — Efficient fine-tuning framework
- Qdrant — High-performance vector database
- OpenRouter — Unified LLM API
- The Tunisian NLP community for dialect resources
---
## ✨ Features
### 🗣️ Dialect-Native Processing
- Custom **Qwen3-8B adapter** trained on Tunisian corpus
- Real-time Arabizi normalization (`karhba` → `vehicle`)
- Translation layer mapping dialect terms to formal insurance vocabulary
### 🔍 Intelligent RAG Pipeline
- **Hybrid Retrieval**: Dense vectors (BGE-M3) + Sparse search (BM25) + Episodic memory
- **HyDE Strategy**: Uses fine-tuned LLM to generate hypothetical answers for better retrieval
- **Cross-Encoder Rerank …