Instructions to use Dellboy/chem_sage_32b_v5 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use Dellboy/chem_sage_32b_v5 with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("Dellboy/chem_sage_32b_v5") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use Dellboy/chem_sage_32b_v5 with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Dellboy/chem_sage_32b_v5"
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Dellboy/chem_sage_32b_v5" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use Dellboy/chem_sage_32b_v5 with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Dellboy/chem_sage_32b_v5"
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default Dellboy/chem_sage_32b_v5
Run Hermes
hermes
- MLX LM
How to use Dellboy/chem_sage_32b_v5 with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "Dellboy/chem_sage_32b_v5"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "Dellboy/chem_sage_32b_v5" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Dellboy/chem_sage_32b_v5", "messages": [ {"role": "user", "content": "Hello"} ] }'
ChemSage 32B v5 — Round 5 fused model
ChemSage is a QLoRA-tuned Qwen2.5-32B chemistry assistant for drug discovery, fine-tuned on Apple Silicon with MLX-LM. It reasons about small molecules, emits verified RDKit and PyMOL tool calls, and is grounded by a RAG layer over a curated cheminformatics corpus.
This is the Round 5 fused model — the current production checkpoint, fused from iter 1600 (best available checkpoint; val loss 0.055).
Model details
| Base model | mlx-community/Qwen2.5-32B-Instruct-4bit |
| Fine-tune method | QLoRA (RSLoRA, rank 64, scale 90.0) |
| Adapted layers | 32 of 64 transformer layers |
| Trainable parameters | 268M (0.82% of 32.8B) — double R4 |
| Training examples | 16,000 (from 20,000 total; 80/10/10 split) |
| Behaviour classes | 78 (19 new vs R4) |
| Training iters | 2,000 of 3,000 (early stop — val plateau at 0.055 from iter 1600) |
| Fused checkpoint | iter 1600 (best saved; true best 0.054 at iters 1650/1950 fell between saves) |
| Best val loss | 0.055 |
| Final train loss | 0.054 |
| Peak memory | 30.3 GB |
| Fused model size | ~17.2 GB |
| Training duration | ~37 h (2026-06-27 to 2026-06-29) |
Evaluation (5-round comparative, 2026-06-29)
Evaluated on 100 shared R5 test examples (seed=42) via eval/compare/eval_compare.py.
Scores = examples where all instances correct / 100 examples (per-example pass/fail).
Full report: eval/compare/results/compare_20260629_1928.html.
| Metric | R1 | R2 | R3 | R4 | R5 (this) |
|---|---|---|---|---|---|
| SMILES validity | 100% | 100% | 100% | 100% | 100% |
| SMARTS validity | N/A | 0% | 100% | 55% | 100% |
| Tool executability | 0% | 28% | 79% | 71% | 95% |
| Code attempted | 14% | 41% | 100% | 97% | 100% |
| Python extended | 36% | 34% | 78% | 69% | 99% |
| Code-then-quote | N/A | 0% | 47% | 19% | 61% |
| Numerical fidelity | N/A | 18% | 57% | 47% | 89% |
| Rounding precision | 100% | 100% | 98% | 98% | 99% |
| Refusal accuracy | 98% | 98% | 97% | 98% | 100% |
| QED range | 100% | 100% | 100% | 100% | 100% |
| PDB ID validity | 100% | 100% | 100% | 100% | 100% |
| PyMOL syntax | 77% | 97% | 89% | 89% | 90% |
| Degeneration-free | 93% | 96% | 91% | 98% | 100% |
| Overall | 72% | 63% | 87% | 80% | 95% |
Usage
# Download from HuggingFace
huggingface-cli download Dellboy/chem_sage_32b_v5 --local-dir models/chem_sage_32b_v5
mlx_lm.server --model models/chem_sage_32b_v5 --port 8081
.venv/bin/python scripts/chat.py --model models/chem_sage_32b_v5
Round 5 additions (78 behaviour classes, 19 new vs R4)
New generators targeting R4 exec/fidelity gaps and breadth:
| Category | New classes |
|---|---|
| Exec drills | pyexec_drill (×6), code_then_quote_v2 (×5), rounding_explicit (×5), fidelity_multistep (×5) |
| ADMET / SAR | herg_liability, selectivity_profile, prodrug_bcs, sar_delta |
| Cheminformatics | mdanalysis, conformer_3d, mcs_search, reaction_smarts, recap_fragmentation |
| Structural biology | dssp, ppi_interface, electron_density, biological_assembly |
| Drug targets | drug_target_family (kinases, GPCRs, NHRs) |
| External APIs | uniprot_api |
Training history
| Round | Val loss | Improvement |
|---|---|---|
| Round 1 (7B) | 0.389 | — |
| Round 2 (32B) | 0.347 | 10.8% over R1 |
| Round 3 (32B) | 0.054 | 6.4x over R2 |
| Round 4 (32B) | 0.041 | 24% over R3 |
| Round 5 (32B, this model) | 0.055 | early stop; harder task (78 classes, 20k examples) |
R5's higher val floor (0.055 vs R4's 0.041) reflects the harder task: 78 behaviour classes vs 59, 20k examples vs 6.4k, rank=64 adapter. The model is more capable but the task is larger.
Built by
Marc C. Deller, D.Phil. · marcdeller.com · marc@marcdeller.com
- Downloads last month
- -
4-bit
Model tree for Dellboy/chem_sage_32b_v5
Base model
Qwen/Qwen2.5-32B