Commands and code stay in English in every language. Replace uppercase placeholders with values from your own account and paid job; do not paste real keys into shared notebooks or logs.
Build a complete training recipe
- Task Language or business objective
- Inputs Train, validation and hidden test
- Runtime Compatible compute and storage
- Results Accepted criteria and valid output
Task: Language or business objective. Inputs: Train, validation and hidden test. Runtime: Compatible compute and storage. Results: Accepted criteria and valid output
Train an independent model for German
Start with the complete Automatic configuration in the configuration chapter. Create a project directory containing your compatible student model, reviewed training material, independent validation and final test sets, and the German rubric. Choose a reference model included in your provider plan. The SDK should propose prerequisites and topics, establish a baseline and improve within the approved budgets.
- The JSON below illustrates data format in English; put your actual reviewed German text in the real data files, one object per line.
- Use the complete Automatic configuration, not a recipe fragment, as the runnable project file.
- Measure comprehension, writing, translation and reasoning independently. A small student is not guaranteed to match its teacher on every task.
{"text":"Customer: My invoice total is incorrect. Category: billing"}
{"text":"Customer: I cannot sign in. Category: account_access"}
{"text":"Customer: The application closes when I upload a file. Category: technical_issue"}
# Full Automatic German-language workflow.
# 1. Put a compatible local model in german-project/models/student/.
# 2. Save the complete project configuration as german-project/training.json.
# 3. Add independent train/validation/test files and the reviewed german rubric.
# 4. Replace provider/reference placeholders using your included model catalogue.
fpai-training doctor --config ./german-project/training.json
fpai-training plan --config ./german-project/training.json --dry-run
# The plan must break the objective into prerequisites and measurable topics.
fpai-training run --config ./german-project/training.json
fpai-training evaluate --run ./german-project/runs/german-001 --split test
fpai-training export --run ./german-project/runs/german-001 --format safetensors
# Evaluate comprehension, writing, translation and reasoning separately.
# A passed classifier does not prove all German-language capabilities.
Adapt the project to a business task
The following JSON examples are configuration fragments, not complete project files. Copy the complete Automatic or Advanced configuration, replace the named sections with the fragment, retain identity, model, teacher, runtime and finite budgets, then validate the whole file. Classification and translation need different topics, data and acceptance criteria.
- For support classification, report per-class precision and recall, macro F1, class balance and ambiguous cases.
- For translation, test meaning, terminology, names, numbers and tone using independent bilingual examples.
- When teacher_sharing is none, customer records stay local. If the objective cannot be met without forbidden sharing, stop with an explanation rather than uploading the data.
{
"schema_version": "1.0", "mode": "automatic",
"objective": "Classify support messages into billing, account_access or technical_issue.",
"model": {"path": "./models/student", "adapter": "transformers-causal-lm", "revision": null},
"teacher": {"provider": "openai", "reference_model_id": 123},
"data": {"sources": ["./data/train.jsonl"], "teacher_sharing": "none", "validation_path": "./data/validation.jsonl", "test_path": "./data/test.jsonl", "deduplicate": true, "seed": 42},
"runtime": {"target": "customer_datacenter", "devices": "auto", "distributed": {"backend": "none", "nodes": 1}},
"training": {"method": "auto"},
"curriculum": {"topics": ["intent", "ambiguous_requests", "class_balance"], "max_improvement_cycles": 3, "stop_on_regression": true},
"budgets": {"max_training_minutes": 120, "max_teacher_requests": 100, "max_storage_gib": 20},
"checkpoints": {"every_steps": 100, "keep_last": 3, "resume_validation": "strict"},
"evaluation": {"rubric": "./rubric.json", "baseline_required": true},
"output": {"directory": "./runs/support-001", "format": "adapters"}
}
{
"objective": "Translate English support replies into German while preserving names, numbers and meaning.",
"curriculum": {"topics": ["terminology", "meaning", "names_and_numbers", "tone"], "max_improvement_cycles": 3, "stop_on_regression": true},
"evaluation": {"rubric": "./rubrics/translation.json", "baseline_required": true},
"data": {"sources": ["./data/translation-train.jsonl"], "validation_path": "./data/translation-validation.jsonl", "test_path": "./data/translation-test.jsonl", "teacher_sharing": "approved_only"},
"output": {"directory": "./runs/translation-001", "format": "safetensors"}
}
{"prompt":"My invoice total is wrong. Which category applies?","target":"billing","criterion":"support_category"}
{"prompt":"I cannot sign in. Which category applies?","target":"account_access","criterion":"support_category"}
{
"schema_version": "1.0",
"name": "support-category-evaluation",
"scale": {"minimum": 0, "maximum": 1},
"criteria": [
{"id": "support_category", "description": "Match the expected category.", "metric": "macro_f1", "minimum_score": 0.85}
],
"regression": {"maximum_score_drop": 0.02},
"final_test": {"path": "./data/test.jsonl", "allow_training_use": false}
}
Run on the right infrastructure and deliver safely
These runtime examples are also fragments for a complete reviewed configuration. FusionPointAI Hosting, a customer data center and a compatible Colab runtime supply compute; selecting a name does not allocate GPUs, buy notebook credits or make another runtime compatible. The SDK loads and trains the student on that runtime. Save outputs before an ephemeral notebook ends.
- Hosted example: use the contracted compute environment, its approved storage and account entitlement; hosting is a separate commercial item where applicable.
- Colab example: store the API key in notebook secrets, check available GPU and storage, copy valid checkpoints to approved durable storage before termination.
- Distributed example: use an authorized coordinator and authenticated node communication, matching pinned environments and agreed rendezvous/rank values. The launcher must own only this project’s workers.
{
"runtime": {"target": "fusionpointai_hosting", "devices": "auto", "distributed": {"backend": "none", "nodes": 1}},
"budgets": {"max_training_minutes": 60, "max_teacher_requests": 500, "max_storage_gib": 20},
"output": {"directory": "./runs/hosted-001", "format": "safetensors"}
}
{
"runtime": {"target": "colab", "devices": [0], "distributed": {"backend": "none", "nodes": 1}},
"checkpoints": {"every_steps": 50, "keep_last": 2, "resume_validation": "strict"},
"budgets": {"max_training_minutes": 30, "max_teacher_requests": 100, "max_storage_gib": 10},
"output": {"directory": "./runs/colab-001", "format": "adapters"}
}
{
"runtime": {"target": "customer_datacenter", "devices": [0, 1], "distributed": {"backend": "ddp", "nodes": 2}},
"checkpoints": {"every_steps": 100, "keep_last": 3, "resume_validation": "strict"},
"output": {"directory": "./runs/distributed-001", "format": "safetensors"}
}
# Export a validated adapter or full model, not teacher weights.
fpai-training evaluate --run ./german-project/runs/support-001 --split test
fpai-training export --run ./german-project/runs/support-001 --format adapters
# Inspect artifact-manifest.json, pinned base/tokenizer and evaluation-report.json.
# Reload the package in a fresh compatible runtime before changing live inference.
# Export does not deploy, allocate hosting, or upload to an external model hub.