MOBOT - Ghana Financial Assistant π€π¬π
π― What is MOBOT?
MOBOT is a multilingual, multimodal conversational AI specialized for Ghanaian financial services. Built on Mistral-7B, MOBOT helps users with:
- π° Money Transfers - Send money to friends and family
- π Bill Payments - Pay ECG, GWCL, hospital bills, and more
- π Financial Tracking - Check balances, view spending summaries
- π‘ Financial Advice - Savings tips, debt planning, budgeting
- π€ Voice Interaction - Speak naturally in Twi, Pidgin, English, and more
- π· Bill Scanning - Upload bill photos for automatic processing
β¨ Key Features
π Multilingual Support
- English - Full support
- Twi - Native language support
- Pidgin - Ghanaian Pidgin English
- Hausa - Northern Ghana language
- Ga - Greater Accra region
- Ewe - Volta region
π¨ Multimodal Capabilities
- π Text - Natural language conversations
- π€ Voice Input - Speech-to-text (STT) with Whisper
- π· Image Processing - OCR for bills and receipts
- π Voice Reply - Text-to-speech (TTS) responses
πΌ Financial Services
- Send money / transfers
- Pay utility bills (ECG, GWCL)
- Buy airtime and data
- Check account balance
- View transaction history
- Get spending summaries
- Financial coaching
π€ Empathetic & Safe
- Emotional intelligence for sensitive situations
- Safety patterns for sensitive information
- Consent management for transactions
- Audit logging for compliance
π Quick Start
Installation
pip install transformers torch
Basic Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
# Load model
model_name = "CHATMOBOT/mobot-ghana-complete"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# Chat with MOBOT
user_input = "Hey Mobot, send 50 cedis to Ama"
prompt = f"<s>[INST] You are MOBOT, Ghana's friendly financial assistant.\n\nUser: {user_input} [/INST]"
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.2)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
With Pipeline
from transformers import pipeline
mobot = pipeline(
"text-generation",
model="CHATMOBOT/mobot-ghana-complete"
)
response = mobot(
"User: How much did I spend this week?",
max_new_tokens=512,
temperature=0.2
)
π Examples
Money Transfer
User: Send 50 cedis to Kwame
Mobot: Sure! I'll send β΅50 to Kwame. Please confirm?
Bill Payment
User: [Uploads ECG bill photo]
Mobot: I found an ECG bill for β΅100.00 (ref: REF123). Would you like me to pay it?
Voice Note (Pidgin)
User: [Voice] "Chale send 20 ghs to Ama"
Mobot: Okay boss, sending β΅20 to Ama. Please confirm?
Financial Advice
User: Help me save money
Mobot: Great question! Here are some tips:
1. Set a monthly savings goal
2. Automate transfers to savings
3. Track your spending
Want more advice?
π Integrations
# See: integrations/whatsapp_webhook_example.py
# Full WhatsApp Business API integration
Telegram
# See: integrations/telegram_bot_example.py
# Interactive bot with buttons
Agent Orchestration
# See: agents/orchestrator.py
# Multi-step workflows
π Model Details
Architecture
- Base Model: Mistral-7B-v0.1
- Fine-tuning: LoRA (Low-Rank Adaptation)
- LoRA Rank: 128
- LoRA Alpha: 32
- Parameters: 7B
- Context Length: 2048 tokens
Training
- Current Dataset: 15,264 examples (quality-filtered)
- Total Available: 509,438+ examples (from larger dataset)
- Languages: 6 languages (English, Twi, Pidgin, Hausa, Ga, Ewe)
- Intents: 12+ financial intents
- Training Time: ~48 hours on RTX 4090
- Training Config: See
training_config.yaml
Performance
- Intent Accuracy: β₯95%
- Slot F1: β₯92%
- Empathy Score: β₯4.0/5.0
π οΈ Advanced Usage
Multimodal Processing
# OCR for bills
from scripts.multimodal.ocr_receipts import process_image
parsed = process_image("bill.jpg")
# STT for voice
from scripts.multimodal.stt_whisper import transcribe_audio
transcript = transcribe_audio("voice_note.mp3")
# TTS for replies
from services.tts_service import synthesize_text
audio = synthesize_text("Hello! I'm MOBOT.")
Agent Orchestration
from agents.orchestrator import AgentOrchestrator
orchestrator = AgentOrchestrator()
plan = orchestrator.plan("Pay this bill", context={"image": "bill.jpg"})
result = orchestrator.execute(plan, user_id="user123")
π Documentation
- Model Card - Detailed model information
- Phase 4 Implementation - Multimodal features
- Complete System Status - Full system overview
- Training Guide - Training instructions
π Safety & Privacy
- β Refusal patterns for sensitive information
- β PII redaction in training data
- β Consent management for transactions
- β Audit logging for compliance
- β Ghana Data Protection Act compliant
π€ Contributing
We welcome contributions! See our GitHub repository for:
- Issue reporting
- Feature requests
- Pull requests
- Documentation improvements
π License
Apache 2.0 License
π Acknowledgments
- Mistral AI - Base model
- RunPod - Training infrastructure
- Coqui TTS - Voice synthesis
- OpenAI Whisper - Speech recognition
- PaddleOCR - Image processing
π Contact
- Email: [email protected]
- Info: [email protected]
- GitHub Issues: https://github.com/your-org/mobot/issues
π Social Media
- Facebook: MOBOT AI Ghana
- Instagram: @MOBOTAI_GHANA
- X (Twitter): @MOBOTAI_GHANA
- WhatsApp Channel: MOBOT Channel
Made with β€οΈ for Ghana
π¬π MOBOT - Your Financial Assistant
Model tree for CHATMOBOT/mobot-ghana-complete
Base model
mistralai/Mistral-7B-v0.1