TaxiLM โ Chauffeur de taxi Hassaniya (Nouakchott)
Modele de langage de 8.7M parametres entraine pour dialoguer en Hassaniya comme un chauffeur de taxi a Nouakchott. Ce modele est utilise comme LLM principal dans un agent LangChain equipe d'outils vivants.
Personnage
| Attribut | Description |
|---|---|
| Nom | Mohamed Vall (ู ุญู ุฏ ูุงู) |
| Role | Chauffeur de taxi a Nouakchott depuis 20 ans |
| Langue | Hassaniya avec quelques mots francais (clim, frein, carrefour, essence, match) |
| Ton | Bavard, raleur mais bon coeur, philosophe de la route |
| Expressions | ู ุงุดู ุงู ููู, ู ุงูู ู ุงุดู ูููู, ูุง ุฑุงุฌู, ูุง ุฅูู ุฅูุง ุงููู, ุงุดูุงุนุฏ, ุฅู ุดุงุก ุงููู |
| Sagesse | "ุฐุง ูุงู ู ูุชุฎุทุง" (tout passe, meme les embouteillages) |
Architecture
| Parametre | Valeur |
|---|---|
| Parametres | 8 726 016 (8.7M) |
| Couches | 6 |
| Dimensions cachees | 384 |
| Tetes d'attention | 6 |
| FFN | 768 (ReLU) |
| Vocabulaire | 4 096 tokens BPE |
| Tokenizer | Metaspace (optimise pour l'arabe) |
| Sequence max | 128 tokens |
Outils de l'agent
Le modele est utilise par un agent LangChain equipe de 5 outils :
| Outil | API / Source | Role |
|---|---|---|
| Meteo | Open-Meteo | Temperature, vent, pluie a Nouakchott |
| Geocodage | Nominatim (OpenStreetMap) | Localisation des quartiers |
| Taux de change | Exchange Rate API | Conversion EUR/USD vers MRU |
| Horaires de priere | AlAdhan | Heures de salat |
| Proverbes | Dataset ahmed02mk/amthal-hassaniya |
Sagesses et proverbes Hassaniya |
Sources
| Source | Type | Description |
|---|---|---|
| Dataset TP2 | Donnees synthetiques | 13 248 dialogues en Hassaniya (5 categories) |
| amthal-hassaniya | Dataset Hugging Face | Proverbes Hassaniya avec explications en arabe |
| Open-Meteo | API externe | Donnees meteo temps reel |
| Nominatim | API externe | Geocodage gratuit |
| Exchange Rate API | API externe | Taux de change quotidiens |
| AlAdhan | API externe | Horaires de priere |
Limites du personnage
Ce que Mohamed Vall ne sait pas et ne doit pas inventer :
- La politique internationale
- La technologie moderne
- Les prix officiels ou administratifs
- Les itineraires precis qu'il ne connait pas
- Les informations medicales ou legales
Comportement attendu : Si une question sort de son univers, il repond : "ูุงููู ู ุง ุนุงุฑู, ุงุณุฃู ุงููู ูุนุฑู" (Je ne sais pas, demande a celui qui sait).
Risques d'hallucination
| Risque | Niveau | Mitigation |
|---|---|---|
| Invention de prix | Moyen | Utiliser l'outil taux de change |
| Invention de lieux | Moyen | Utiliser l'outil geocodage |
| Proverbe errone | Faible | Recherche dans le dataset amthal-hassaniya |
| Meteo inventee | Faible | Appel API Open-Meteo |
| Reponse incoherente | Eleve | Modele 9M, limite en raisonnement |
Entrainement
- Dataset : 13 248 dialogues synthetiques generes par templates et augmentation linguistique
- GPU : Tesla T4 (Google Colab gratuit)
- Duree : ~15 minutes
- Steps : 10 000 avec cosine LR schedule
- Eval loss finale : 0.409
- Monitoring : Weights & Biases
Utilisation
from huggingface_hub import hf_hub_download
import torch
from tokenizers import Tokenizer
import importlib.util, sys
REPO_ID = "AlihIng/TaxiLM"
# Charger config.py
config_path = hf_hub_download(repo_id=REPO_ID, filename="config.py")
spec = importlib.util.spec_from_file_location("config", config_path)
config_module = importlib.util.module_from_spec(spec)
sys.modules["config"] = config_module
spec.loader.exec_module(config_module)
# Charger model.py
model_path = hf_hub_download(repo_id=REPO_ID, filename="model.py")
spec = importlib.util.spec_from_file_location("model", model_path)
model_module = importlib.util.module_from_spec(spec)
sys.modules["model"] = model_module
spec.loader.exec_module(model_module)
# Charger les poids
pt_path = hf_hub_download(repo_id=REPO_ID, filename="model.pt")
checkpoint = torch.load(pt_path, map_location="cpu")
config = config_module.TaxiConfig(**checkpoint["config"])
model = model_module.TaxiLM(config)
model.load_state_dict(checkpoint["model_state_dict"])
model.eval()
# Tokenizer
tokenizer = Tokenizer.from_file(hf_hub_download(repo_id=REPO_ID, filename="tokenizer.json"))
Licence
MIT โ Inspire de GuppyLM par Arman Hossain.
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐ Ask for provider support