El Bankeji is an AI-powered banking chatbot designed for Tunisian banks.
ElBankeji Platform
AI-Powered Multilingual Banking Assistant for Tunisia
## Table of Contents
- Business Overview
- Technical Architecture
- Key Features
- Installation Guide
- API Documentation
- Performance Metrics
- Roadmap
- Contributing
- License
## 🌐 Business Overview
### Problem Statement
Tunisian banks face critical challenges:
- **70% repetitive queries** (balances, transactions)
- **Code-switching** between Tunisian Arabic/French/English
- **High NLP costs** (>$15k/language for traditional models)
### Solution Architecture
```mermaid
graph TD
A[User Input] --> B(Language Detection)
B --> C{Intent Recognition}
C --> D[Account Inquiry]
C --> E[Transaction History]
C --> F[Loan Services]
D --> G[Bank API Integration]
E --> G
F --> G
G --> H[Response Generation]
```
## 🏗 Technical Architecture
### Core Components
1. **LLM Inference Layer**:
- Supports multiple models:
- `llama3.2` (Meta)
- `granite3.2:2b-instruct-q4_K_M` (IBM)
- Dynamic model switching based on query complexity
2. **Banking Toolset**:
```python
class BalanceTool(Tool):
"""Retrieves user balance from core banking systems"""
async def _run(self, input: UserInput) -> ToolOutput:
try:
balance = await BankAPI.get_balance(input.user_id)
return ToolOutput.success(data=balance)
except BankAPIError as e:
logger.error(f"Balance check failed: {e}")
return ToolOutput.error(code="BANK_001")
```
3. **Deployment Stack**:
- Dockerized microservices
- WebSocket interface for real-time chat
- Redis for session state management
## ✨ Key Features
| Feature | Implementation |
|---------|---------------|
| Hybrid Language Processing | LangDetect + Custom Tokenizer |
| Banking API Integration | SOAP/REST adapters for Temenos T24 |
| Contextual Memory | Redis session store (30min TTL) |
| Security | TLS 1.3 + AES-256 encryption |
## 📥 Installation Guide
### Hardware Requirements
| Component | Minimum | Recommended |
|-----------|---------|-------------|
| CPU | 4 cores | 8+ cores |
| RAM | 12G …