Instructions to use TaskWizerAI/opencodifier-e1e-2b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use TaskWizerAI/opencodifier-e1e-2b with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("/home/mkinney/t5500-bundle/models/Qwen3.5-2B") model = PeftModel.from_pretrained(base_model, "TaskWizerAI/opencodifier-e1e-2b") - Transformers
How to use TaskWizerAI/opencodifier-e1e-2b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="TaskWizerAI/opencodifier-e1e-2b")# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("TaskWizerAI/opencodifier-e1e-2b", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use TaskWizerAI/opencodifier-e1e-2b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "TaskWizerAI/opencodifier-e1e-2b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "TaskWizerAI/opencodifier-e1e-2b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/TaskWizerAI/opencodifier-e1e-2b
- SGLang
How to use TaskWizerAI/opencodifier-e1e-2b with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "TaskWizerAI/opencodifier-e1e-2b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "TaskWizerAI/opencodifier-e1e-2b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "TaskWizerAI/opencodifier-e1e-2b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "TaskWizerAI/opencodifier-e1e-2b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use TaskWizerAI/opencodifier-e1e-2b with Docker Model Runner:
docker model run hf.co/TaskWizerAI/opencodifier-e1e-2b
File size: 3,290 Bytes
5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 5ab0961 5a83a34 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | ---
base_model: Qwen/Qwen3.5-2B
library_name: peft
license: apache-2.0
pipeline_tag: text-generation
tags:
- lora
- transformers
- decision-model
- opencodifier
---
# OpenCodifier E1-E β Qwen3.5-2B verdict-slot decision LoRA
A LoRA adapter that turns [Qwen/Qwen3.5-2B](https://huggingface.co/Qwen/Qwen3.5-2B)
into a Jev-style **decision model**: probabilities are read from the
log-probs of verdict-slot label tokens at the answer position β nothing is
generated, nothing is parsed. It is the decision rung of the
[OpenCodifier](https://github.com/aliasfoxkde/OpenCodifier) ladder, and the
first own-trained arm to pass both release-gate legs.
## Results
All numbers from the OpenCodifier evaluation records
([BENCHMARKS.md](https://github.com/aliasfoxkde/OpenCodifier/blob/main/docs/BENCHMARKS.md),
TRAINING.md Β§9.9.1). Public 231-item JevBench split, deterministic
readout, fp16, single V100.
| metric | value |
|---|---|
| JevBench-231 accuracy | **0.6840** (publish bar 0.6494 β clear) |
| Internal holdout suite | **0.8083** (gate β₯ 0.75 β GATE_PASS; seed-replicated 0.8000) |
| Raw board ECE | 0.207 |
| Holdout-fitted temperature (T=3.362, analysis-only on board) | ECE 0.207 β 0.127 |
| Auto-decidable @5% risk | 0.100 (23/231) |
| Brier | 0.504 |
| p50 latency | 0.58 s |
Per-family shape: routing / tool-selection / ordinal families at 1.00;
relational/compositional families are the weakness (multi_hop 0.389,
judge_hard 0.412, long_policy 0.368). The board is lost on compositional
families, not on routing β the candidate lever is relational-heavy
soft-label data, not parameters.
## Training
- **Base**: Qwen3.5-2B, LoRA verdict-slot readout
- **Corpus**: merged-v3 (173,452 records; composition and join rates in
TRAINING.md). The corpus itself is **not** released with this adapter.
- **Schedule**: 11,009 steps, single V100 (T5500), fp16
- **Calibration**: temperature T=3.362 fitted on a labelled holdout
(holdout ECE 0.179 β 0.117); artifact ships in the OpenCodifier repo
at `calibration/e1e-qwen3.5-2b-holdout.json`
## Intended use
Typed multiple-choice decisions (routing, tool selection, ordinal
grading) where calibrated token-level probabilities β not free text β
are the product. Pairs with the OpenCodifier engine's confidence gate:
low-confidence reads abstain or escalate to a stronger rung.
## Out of scope
Free-form generation; the base model's general chat ability is not
preserved or claimed. Not evaluated for safety of generated content β
the adapter is a readout head, not a chat model.
## How to use
```python
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.5-2B", torch_dtype="float16")
model = PeftModel.from_pretrained(base, "TaskWizerAI/opencodifier-e1e-2b")
```
Scores come from label-token log-probs at the answer position; see the
OpenCodifier repo for the readout harness and the Jev adapter wire shape.
## License
Apache-2.0, matching the OpenCodifier project.
## Citation
```bibtex
@software{opencodifier_e1e_2026,
title = {OpenCodifier E1-E: a gate-passing 2B decision-model LoRA},
author = {Kinney, Michael},
year = {2026},
url = {https://github.com/aliasfoxkde/OpenCodifier}
}
```
|