feat: add custom route to export data for LLM
This commit is contained in:
@@ -77,6 +77,50 @@ ___
|
||||
### `/paroles/count`
|
||||
- `GET` : Récupère le nombre de texte
|
||||
|
||||
### `/paroles/export` ⚙️ Token requis
|
||||
- `GET` : Exporter les paroles et traductions au format JSONL ou JSON pour l'entraînement de modèles LLM
|
||||
|
||||
**Paramètres de requête :**
|
||||
|
||||
| Paramètre | Valeurs acceptées | Défaut | Description |
|
||||
|-----------|-------------------|--------|-------------|
|
||||
| `type` | `pairs` \| `instruct` | `pairs` | Format des exemples d'entraînement |
|
||||
| `lang` | `fr,en,es,de,it` | toutes | Langues cibles à inclure (séparées par des virgules) |
|
||||
| `format` | `jsonl` \| `json` | `jsonl` | Format de la réponse |
|
||||
|
||||
**Type `pairs`** — corpus parallèle source/cible, adapté aux modèles de traduction :
|
||||
```json
|
||||
{"source_lang":"ka","target_lang":"fr","source":"Mwen ka palé épi ou…","target":"Je suis en train de te parler…","title":"Titre","artists":["Artiste"]}
|
||||
```
|
||||
|
||||
**Type `instruct`** — format instruction/chat, adapté au fine-tuning de modèles d'instruction :
|
||||
```json
|
||||
{"messages":[{"role":"system","content":"Tu es un expert en langue KA…"},{"role":"user","content":"Tradui an fransé :\n\nMwen ka palé épi ou…"},{"role":"assistant","content":"Je suis en train de te parler…"}]}
|
||||
```
|
||||
|
||||
**Format `jsonl`** : la première ligne contient les métadonnées (champ `_metadata: true`). Pour les filtrer :
|
||||
```bash
|
||||
jq 'select(._metadata | not)' export.jsonl
|
||||
```
|
||||
|
||||
**Métadonnées incluses** (`_metadata: true` en JSONL, clé `metadata` en JSON) :
|
||||
|
||||
| Champ | Description |
|
||||
|-------|-------------|
|
||||
| `exported_at` | Horodatage de l'export |
|
||||
| `total_paroles` | Nombre de paroles traitées |
|
||||
| `total_pairs` | Nombre d'exemples d'entraînement générés |
|
||||
| `languages` | Nombre de paires par langue |
|
||||
| `missing_translations` | Paroles avec des traductions manquantes, par langue |
|
||||
| `non_ka_transcriptions` | Paroles dont la transcription est suspectée d'être dans une autre langue (ex. français) |
|
||||
|
||||
**Exemple :**
|
||||
```bash
|
||||
curl -H "Authorization: Bearer <token>" \
|
||||
"https://api.pawol.nu/api/paroles/export?type=instruct&lang=fr,en&format=jsonl" \
|
||||
-o dataset.jsonl
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
Copyright (C) 2024 Cédric Famibelle-Pronzola & ORGANISATION KA INTERNATIONALE (OKI)
|
||||
|
||||
Reference in New Issue
Block a user