xlmtec
xlmtec is a command-line toolkit for fine-tuning large language models. Describe your task in plain English, get a ready-to-run config, browse HuggingFace models, and train — all from the terminal.
Features
- AI-powered config generation — describe your task, get a YAML config from Claude, Gemini, or GPT
- Model Hub browser — search and inspect HuggingFace models without leaving the terminal
- 5 fine-tuning methods — LoRA, QLoRA, Full, Instruction, DPO
- Config validation — catch errors before training starts
- Dry-run mode — preview your training plan without loading a model
- Rich terminal UI — progress bars, panels, colour output throughout
Installation
# Core (lightweight — no ML deps)
pip install xlmtec
# With training support
pip install xlmtec[ml]
# With AI suggestions (pick your provider)
pip install xlmtec[claude] # Anthropic
pip install xlmtec[gemini] # Google
pip install xlmtec[codex] # OpenAI
pip install xlmtec[ai] # All three
# Everything
pip install xlmtec[full]
Quickstart
1. Get an AI-generated config
xlmtec ai-suggest "fine-tune a small model for customer support" --provider claude
Outputs a ready-to-run YAML config and the exact command to run.
2. Browse models on HuggingFace
xlmtec hub search "bert" --task text-classification --limit 5
xlmtec hub trending
xlmtec hub info google/bert-base-uncased
3. Validate your config
xlmtec config validate config.yaml
4. Train
# Preview without loading model
xlmtec train --config config.yaml --dry-run
# Start training
xlmtec train --config config.yaml
Commands
| Command | Description |
|---|---|
xlmtec ai-suggest "<task>" |
Generate a config from plain English |
xlmtec hub search "<query>" |
Search HuggingFace models |
xlmtec hub info <model-id> |
Show model details |
xlmtec hub trending |
Top trending models |
xlmtec config validate <file> |
Validate a YAML config |
xlmtec train --config <file> |
Fine-tune a model |
xlmtec train --config <file> --dry-run |
Preview training plan |
xlmtec recommend |
Get method recommendation for your hardware |
xlmtec evaluate |
Evaluate a fine-tuned model |
xlmtec benchmark |
Compare multiple runs |
xlmtec merge |
Merge LoRA adapter into base model |
xlmtec upload |
Upload model to HuggingFace Hub |
xlmtec --version |
Show installed version |
Fine-tuning methods
| Method | VRAM | Best for |
|---|---|---|
lora |
Low (4–8 GB) | Most tasks, fast convergence |
qlora |
Very low (4 GB) | Large models on limited hardware |
full |
High (24 GB+) | Best quality, small models |
instruction |
Low (4–8 GB) | Prompt/response style tasks |
dpo |
Low (4–8 GB) | Preference learning from pairs |
AI Providers
Set your API key as an environment variable, then pass --provider:
export ANTHROPIC_API_KEY=sk-ant-...
xlmtec ai-suggest "summarise legal documents" --provider claude
export GEMINI_API_KEY=...
xlmtec ai-suggest "summarise legal documents" --provider gemini
export OPENAI_API_KEY=sk-...
xlmtec ai-suggest "summarise legal documents" --provider codex
Example config
model:
name: gpt2
dataset:
source: local_file
path: data/train.jsonl
lora:
r: 16
alpha: 32
target_modules: [c_attn]
training:
output_dir: output/run1
num_epochs: 3
batch_size: 4
learning_rate: 2e-4
Development
git clone https://github.com/Abdur-azure/xlmtec.git
cd xlmtec
pip install -e ".[full,dev]"
pytest tests/ -v --ignore=tests/test_integration.py
Changelog
See CHANGELOG.md for full release history.
License
MIT
Metadata
Release files for xlmtec 3.27.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| xlmtec-3.27.0.tar.gz | 153.5 kB | Without provenance | Details for xlmtec-3.27.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| xlmtec-3.27.0-py3-none-any.whl | Python 3 | none | any | Details for xlmtec-3.27.0-py3-none-any.whl |
Total release size: 302.5 kB
Release files / xlmtec-3.27.0.tar.gz
| Download URL | xlmtec-3.27.0.tar.gz |
|---|---|
| Size | 153.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ff2e525a7c1b8c3f102564482ca4317b56d44a9fe43cd473f3b5316eb6bd0947
|
|
BLAKE2b-256 checksum How to use checksums |
fd699b851f2de42ffc75348d7ecd5144f837c9ce2e2f3d02455e778e1fc809b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Release files / xlmtec-3.27.0-py3-none-any.whl
| Download URL | xlmtec-3.27.0-py3-none-any.whl |
|---|---|
| Size | 149.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5a11684669aa15249be7194b3b2f80c6435027799d1e6097adce664df04a83cb
|
|
BLAKE2b-256 checksum How to use checksums |
b6661e69a470ae607c28a179596f19c763bce3e20f247e59cdcbea8ec18e7379
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Security for xlmtec 3.27.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.