Data sa Coaching
Ang data sa coaching ay mekanismo ng champollion para turuan ang mga LLM tungkol sa mga wikang hindi kasama sa kanilang training. Sa pamamagitan ng pagbibigay ng mga tuntunin sa grammar, dictionary, at style notes kasabay ng bawat kahilingan sa pagsasalin, nagiging context-aware translator ang isang general-purpose LLM para sa anumang wika — kabilang ang mga wikang walang kasalukuyang suporta sa MT.
Paano Ito Gumagana
Kapag itinakda ninyo ang method ng isang pair sa llm-coached, naglo-load ang champollion ng coaching file mula sa .champollion/coaching/<locale>.json at ini-inject ang nilalaman nito sa bawat LLM prompt bilang bahagi ng system message. Nakikita ng LLM ang inyong mga tuntuning pangwika kasabay ng kahilingan sa pagsasalin, kaya nakakagawa ito ng output na sumusunod sa inyong grammar at terminolohiya sa halip na manghula.
┌──────────────────────────────────────────────────────┐
│ System Message (cached across batches) │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Base translation rules │ │
│ │ + Register instructions │ │
│ │ + Coaching guidance (from coachingFile, if set) │ │
│ │ + Grammar rules (from coaching data) │ │
│ │ + Dictionary entries (from coaching data) │ │
│ │ + Style notes (from coaching data) │ │
│ └──────────────────────────────────────────────────┘ │
├──────────────────────────────────────────────────────┤
│ User Message (per batch) │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Keys to translate (JSON) │ │
│ └──────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘
May dalawang uri ng coaching content:
- Structured coaching data (
llm-coachedmethod) — Mga tuntunin sa grammar, dictionary, at style notes sa JSON format. Nilo-load mula sa.champollion/coaching/<locale>.jsono sa directory nacoaching/ng isang plugin. - Free-text coaching prompt (
coachingFileconfig field) — Isang plain text file na may karagdagang gabay na ini-inject sa system prompt. Gumagana sa anumang LLM method, hindi lamang sallm-coached. Itakda gamit angcoachingFilesa inyong config o--coaching-filesa CLI.
Maaaring gamitin ang dalawa nang magkasama. Ginagamit ng eval harness ang eksaktong parehong prompt structure — kaya ipinapakita ng inyong benchmark scores ang aktuwal ninyong production prompts.
Dahil bahagi ng system message ang coaching data, nakikinabang ito sa prompt caching — ang mga provider tulad ng Anthropic at Google ay nagka-cache ng paulit-ulit na system prefixes, kaya isang beses lang kayong magbabayad para sa coaching context bawat session, hindi isang beses bawat batch.
Format ng Coaching File
Gumawa ng isang JSON file bawat locale sa .champollion/coaching/:
{
"grammar_rules": [
"Plains Cree is polysynthetic — a single word can express what English needs a full sentence for",
"Animate/inanimate noun distinction affects verb conjugation",
"Use SRO (Standard Roman Orthography) unless script converter handles conversion",
"Verb stems are modified by prefixes and suffixes to indicate person, number, tense, and evidentiality"
],
"dictionary": {
"home": "kīwēwin",
"settings": "isi-nākatohkēwin",
"search": "nānātawāpahtam",
"welcome": "tānisi",
"submit": "ispīhci",
"cancel": "pōni"
},
"style_notes": "Use formal register. Preserve English technical terms in parentheses when no Cree equivalent exists. Avoid loanwords when a descriptive Cree expression exists."
}
Mga Field
| Field | Type | Required | Description |
|---|---|---|---|
grammar_rules | string[] | Hindi | Array ng mga tuntunin sa grammar na ini-inject sa system prompt. Dapat ay maikli at actionable instruction ang bawat tuntunin na masusunod ng LLM. |
dictionary | object | Hindi | Key-value map ng English term → target language term. Ginagamit para sa domain-specific vocabulary na hindi malalaman ng LLM. |
style_notes | string | Hindi | Free-form style instructions (register, tone, formality conventions). |
Opsyonal ang lahat ng field — maaari kayong magsimula sa dictionary lang at magdagdag ng mga tuntunin sa grammar habang nire-refine ninyo.
Fallback Behavior
Kung naka-configure ang isang pair para sa llm-coached ngunit walang coaching file para sa locale na iyon, magfa-fallback ang champollion sa standard na llm method na may console warning:
[INFO] No coaching data for "crk" at .champollion/coaching/crk.json
Falling back to standard LLM method. Create coaching data for better results.
Ibig sabihin, maaari ninyong ligtas na itakda ang "defaultMethod": "llm-coached" nang globally — gagamitin ito ng mga wikang may coaching data, at ang iba ay makakakuha ng standard LLM translation nang walang error.
Kailan Gagamit ng Coaching
| Scenario | Recommended Method |
|---|---|
| Tier 1 languages (French, Spanish, German) | llm o google-translate — kilala na ng mga LLM ang mga ito nang mabuti |
| Tier 2 languages (Korean, Turkish, Thai) | llm na may register — sapat na nahahawakan ng mga LLM ang mga ito gamit ang style guidance |
| Tier 3 languages (Plains Cree, Yoruba, Quechua) | llm-coached — kailangan ng mga LLM ng mga tuntunin sa grammar at dictionary |
| Conlangs (Klingon, Sindarin, Kryptonian) | llm-coached — may ilang training data ang mga LLM ngunit kailangan ng mga correction |
Pagbuo ng Mahusay na Coaching Data
Mga Tuntunin sa Grammar
Isulat ang mga tuntunin bilang instructions, hindi descriptions. Mas mahusay sumunod ang LLM sa instructions kaysa mag-interpret ng linguistic theory.
// ❌ Descriptive (the LLM learns nothing actionable)
"Plains Cree has animate and inanimate noun classes"
// ✅ Instructive (the LLM knows what to do)
"When translating nouns, check whether the Cree equivalent is animate (NA) or inanimate (NI) — this affects which verb conjugation to use"
Dictionaries
Magtuon sa domain-specific terms na magkakamali o maiimbento ng LLM. Huwag nang pagtuunan ang mga karaniwang salitang kaya na ng LLM — magtuon sa mga terminong partikular sa UI ng inyong application.
Style Notes
Maging tiyak tungkol sa register, formality, at conventions:
"style_notes": "Use formal register (vous-form in French). Preserve brand names untranslated. UI labels should be imperative mood ('Save', not 'Saves'). Maximum 40 characters for button text."
Pagsubok sa Coached Translations
Gamitin ang MT Eval Harness upang i-benchmark ang inyong coached translations laban sa isang reference corpus:
# Install the harness
pip install mt-eval-harness
# Run coached translations against your test corpus
mt-eval run --corpus data/crk-corpus.json --model google/gemini-2.5-pro
# Score the results
mt-eval test eval/logs/run_*.json
Binibigyan kayo nito ng chrF++, BLEU, at exact match scores. Gumawa ng maraming bersyon ng coaching file at ihambing ang mga ito — mas mahusay ang objective metrics kaysa subjective review.
Tingnan Din
- Translation Methods — ang llm-coached method
- Suportahan ang isang Low-Resource Language — coaching sa practice
- Plugin Specification — pag-package ng coaching data sa isang plugin
- Quality Gate — kung paano vina-validate ang coached translations
- Configuration — per-pair coaching config