Instructions to use TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36") model = AutoModelForMultimodalLM.from_pretrained("TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36
- SGLang
How to use TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36 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 "TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'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 "TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36 with Docker Model Runner:
docker model run hf.co/TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36
HopCoder Mini-35B-A3B-VL36
HopCoder Mini-35B-A3B-VL36 is a BF16 vision-language coding and agent model released by Taimoor Siddiqui. It combines a 35B-A3B agentic text backbone with a VL36 vision stack for image/video understanding, tool use, and coding workflows.
No additional training was performed in this repository. The checkpoint is a weight-level merge with the text tensors preserved and the vision tensors added.
Identity
- Product name: HopCoder Mini
- Repository:
TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36 - Creator and publisher: Taimoor Siddiqui
- Default chat identity: injected by
chat_template.jinja
The chat template includes a default system identity so normal chat, vision, and tool-calling prompts identify the assistant as HopCoder Mini by Taimoor Siddiqui. Runtime architecture, tokenizer, and processor class names in JSON config files are intentionally left unchanged when required by Transformers or vLLM loaders. Do not rename those loader identifiers unless the corresponding runtime classes are also renamed and registered.
What Changed
- Added the VL36
model.visual.*tensors to the agentic text checkpoint. - Removed the
language_model_onlyflag so the vision tower is instantiated. - Added HopCoder Mini metadata to
config.json. - Added an identity-safe default system instruction to
chat_template.jinja. - Added Modal-only repo and benchmark runners in
modal_repo_ops.pyandmodal_h200_eval.py. - Added a smallest-useful-first LoRA SFT path in
modal_small_sft.py. - Added
tools/identity_scan.pyfor repository-level identity leak checks.
Result: 1026 tensors total, with the text backbone and lm_head preserved
and the vision tower loaded from model-vision.safetensors.
Serving
Use vLLM 0.23 or newer for the later benchmark/serving run.
vllm serve TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36 \
--tensor-parallel-size 1 \
--limit-mm-per-prompt '{"image": 4, "video": 1}'
Do not pass --language-model-only; that disables the vision tower.
Capabilities
- Agentic coding and tool-calling workflows.
- Image and video input through the VL36 vision stack.
- Long-context chat and coding use cases supported by the checkpoint config.
- BF16 full-precision weights; this is not a quantized release.
Known Limitations
- Vision quality is not benchmarked. The VL36 vision tower is a cross-generation graft from a separate checkpoint and may differ from a natively co-trained VLM. No vision benchmark suite has been run.
- No additional safety tuning or evaluation beyond basic smoke tests. Identity probes and a short vision smoke test passed, but no formal safety, alignment, or red-team evaluation has been conducted.
- Agent-style interactive coding is limited. The base backbone was not trained on interactive shell-agent workflows; the model can read and reason about code but struggles to transition from exploration to autonomous file editing in an unsupervised agent loop.
Current Evaluation Status
This preparation run does not execute the vLLM benchmark. The H200 Modal runner is included so the benchmark can be launched later with the requested resources: 8 vCPU, 32 GiB RAM, and an H200 GPU.
Prepared entrypoints:
python -m modal run modal_repo_ops.py --action repo-scan
python -m modal run modal_h200_eval.py --action identity-probe --model-id TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36
python -m modal run modal_h200_eval.py --action vision-smoke --model-id TaimoorSiddiqui/HopCoder-Mini-35B-A3B-VL36
python -m modal run modal_h200_eval.py --action suite-command --suite swebench-pro --command "<official SWE-bench Pro command>"
python -m modal run modal_h200_eval.py --action suite-command --suite terminal-bench-2 --command "<official Terminal-Bench 2.0 command>"
python -m modal run modal_h200_eval.py --action suite-command --suite claw-eval --command "<official Claw-Eval command>"
See BENCHMARKS.md for the deferred benchmark workflow.
See TRAINING.md for the smallest useful first LoRA SFT pass and the Stage 2
reasoning/code/agent trace-mix plan.
Rebuild
The included build_merged_vl36.py script can reproduce the local merged
checkpoint from the source text and vision repositories. It is intended for
controlled rebuilds, not for routine inference.
pip install huggingface_hub safetensors torch
python build_merged_vl36.py
License
Released under Apache-2.0. See LICENSE and NOTICE for copyright and
third-party license notices retained for compliance.
- Downloads last month
- 524