Instructions to use lancejames221b/hawq-sec-re-v1-mlx-4bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use lancejames221b/hawq-sec-re-v1-mlx-4bit with MLX:
# Make sure mlx-vlm is installed # pip install --upgrade mlx-vlm from mlx_vlm import load, generate from mlx_vlm.prompt_utils import apply_chat_template from mlx_vlm.utils import load_config # Load the model model, processor = load("lancejames221b/hawq-sec-re-v1-mlx-4bit") config = load_config("lancejames221b/hawq-sec-re-v1-mlx-4bit") # Prepare input image = ["http://images.cocodataset.org/val2017/000000039769.jpg"] prompt = "Describe this image." # Apply chat template formatted_prompt = apply_chat_template( processor, config, prompt, num_images=1 ) # Generate output output = generate(model, processor, formatted_prompt, image) print(output) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use lancejames221b/hawq-sec-re-v1-mlx-4bit with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "lancejames221b/hawq-sec-re-v1-mlx-4bit"
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": "lancejames221b/hawq-sec-re-v1-mlx-4bit" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use lancejames221b/hawq-sec-re-v1-mlx-4bit 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 "lancejames221b/hawq-sec-re-v1-mlx-4bit"
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 lancejames221b/hawq-sec-re-v1-mlx-4bit
Run Hermes
hermes
- OpenClaw new
How to use lancejames221b/hawq-sec-re-v1-mlx-4bit with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "lancejames221b/hawq-sec-re-v1-mlx-4bit"
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "lancejames221b/hawq-sec-re-v1-mlx-4bit" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
HAWQ-SEC-RE-v1 — MLX 4-bit (multimodal)
Apple Silicon MLX build of
lancejames221b/hawq-sec-re-v1
— a reverse-engineering analysis model (LoRA SFT on HAWQ-v1, itself built on
Qwen3.6-35B-A3B). Trained to produce faithful structured analysis of x86-64
assembly and decompiled C: purpose, inputs/outputs, algorithm, control flow, and
security-relevant behavior.
This build is vision-enabled. The GGUF in the parent repo is text-only.
| Format | MLX, mixed 4-bit / 8-bit |
| Size | ≈19 GB (4.649 bpw average) |
| Quantization | 4-bit, group size 64; MoE router (mlp.gate) and shared_expert_gate kept at 8-bit per-layer |
| Vision | Yes — 333 vision tensors, Qwen3-VL-style encoder |
| Context | 262,144 |
Usage
Requires mlx-vlm — not mlx-lm
alone (see the note below).
pip install mlx-vlm
# text
python3 -m mlx_vlm.generate --model lancejames221b/hawq-sec-re-v1-mlx-4bit \
--prompt "Analyze: xor eax,eax; mov ecx,10; loop_start: add eax,ecx; dec ecx; jnz loop_start; ret" \
--temperature 0.6 --max-tokens 300
# image + text
python3 -m mlx_vlm.generate --model lancejames221b/hawq-sec-re-v1-mlx-4bit \
--image disassembly.png --temperature 0.6 --max-tokens 300 \
--prompt "Read the assembly in this image and explain what it computes."
Or point LM Studio's MLX engine at this repo.
Sampler defaults follow the Qwen3.6-35B-A3B thinking-mode preset:
temperature 0.6, top_p 0.95, top_k 20, min_p 0.0.
Verification
Measured on an M4 Max (mlx-vlm 0.6.8, mlx 0.32.0):
| Path | Prompt tokens | Generation | Peak RAM | Result |
|---|---|---|---|---|
| Text-only | 43 | 120 tok @ 94.6 tok/s | 20.95 GB | Coherent RE analysis |
| Image + text | 168 | 58 tok @ 100.8 tok/s | 21.07 GB | Transcribed all 7 rendered instructions verbatim, then analyzed them |
The prompt-token jump (43 → 168) is image patch tokens, confirming the vision encoder is actually in the graph rather than being silently skipped.
Why mlx-vlm and not mlx-lm
mlx-lm's qwen3_5_moe handler strips every key beginning vision_tower or
model.visual during sanitization. Converting this architecture through
mlx-lm therefore yields a silently text-only model that still presents as
multimodal — no error, no warning. mlx-vlm has a real VLM handler for
qwen3_5_moe (separate language.py / vision.py) and preserves the tower.
Also worth knowing if you convert this architecture yourself: plain
mlx_lm.convert / mlx_vlm.convert on a 35B-class MoE tends to die at save
time with a Metal command-buffer watchdog timeout
(kIOGPUCommandBufferCallbackErrorSubmissionsIgnored). It's a watchdog trip,
not OOM — pinning the convert to CPU (mx.set_default_device(mx.cpu))
sidesteps it.
Thinking mode
Reasoning is enabled by default and returned in a separate field
(reasoning_content), not inline in content. Two consequences:
- Give generous
max_tokens. Reasoning is emitted before any tool call or final answer, so a small cap truncates mid-thought and yields empty content. - Clients must read the reasoning field from its own key and keep it associated with the turn that carries the tool call, or tool calls can be dropped once the model starts thinking.
Limitations
- The vision tower is stock Qwen3.6, grafted back from the
Qwen3.6-35B-A3Banchor. It was not fine-tuned by this model's RE-analysis SFT — image understanding is base-Qwen quality, while the text backbone carries the RE tuning. - Win-rate not benchmarked. Coherence-validated, not yet scored against the base model on held-out RE tasks.
- Long chain-of-thought on hard problems can approach the card's 81,920-token
cap; budget
max_tokensaccordingly.
License
Apache 2.0, matching the base model.
- Downloads last month
- 47
4-bit