Logo Lanfrica

SEYDINA04/galsenai-sft-data

Domaine:

natural language processing

Type de record:

datasetsoftware
Créateur:
SEY
Hôte:
Plateforme de préparation de datasets d'instruction (SFT) en wolof pour GalsenAI LLM — format canonique ChatML, converters plugin, exporters Alpaca/ShareGPT. # 🗂️ galsenai-sft-data Plateforme de préparation de **datasets d'instruction (SFT) en wolof** pour le projet **GalsenAI LLM**. Elle collecte des datasets wolof existants, les convertit dans un **format canonique unique (ChatML)**, et prépare la traduction de datasets d'instruction externes vers le wolof — le tout de façon modulaire, testable et reproductible. > Pipeline : `raw → validation → conversion → ChatML → quality checks → > traduction (si besoin) → review → versioning → export → fine-tuning` ## Capacités ciblées (façon LFM 2.5) - **Data extraction** : NER, Information Retrieval, Intent Classification, QA - **Tool use** (agentique) : function calling Le raisonnement de sélection — critères, sources retenues, **sources écartées et pourquoi** — est dans `docs/targeting.md`. Les volumes disponibles par tâche, mesurés à la source sans rien télécharger, sont dans `docs/inventory.md` (`galsenai-sft inventory`). ## Format canonique : ChatML La représentation interne est un `Sample` typé (pydantic) — une conversation ChatML. Les formats **Alpaca** et **ShareGPT** sont produits par des exporters dédiés. On ne stocke jamais de ChatML brut : tout est validable et transformable. ## Architecture ``` src/galsenai_sft/ ├── core/ schéma canonique (Sample/Message), config, logging, io ├── registry.py système de plugins (Open/Closed) ├── converters/ 1 converter par dataset/tâche (translation, intent, ner, qa, …) ├── validators/ schéma, qualité, LID (GlotLID v3), décontamination, stats ├── translators/ interface pluggable + QE + review (étape 3, différée) ├── exporters/ chatml · alpaca · sharegpt ├── metadata/ registre + catalogue auto └── cli.py `galsenai-sft` ``` ## Ajouter un dataset (principe Open/Closed) Écrire **un** converter, sans modifier le pipeline : ```python from galsenai_sft.converters.translation.base_translation import TranslationConverter from galsenai_sft.registry import register @register("mon-org/mon-dataset") class …