Text Generation
MLX
Safetensors
English
qwen2
code
qwen-coder
cybersecurity
nist
fine-tuned
conversational
4-bit precision
Instructions to use ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit 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("ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit") 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 ethanolivertroy/HackIDLE-NIST-Coder-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 "ethanolivertroy/HackIDLE-NIST-Coder-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": "ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use ethanolivertroy/HackIDLE-NIST-Coder-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 "ethanolivertroy/HackIDLE-NIST-Coder-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 ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit
Run Hermes
hermes
- MLX LM
How to use ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit", "messages": [ {"role": "user", "content": "Hello"} ] }'
Clarify model limitations and eval status
Browse files
README.md
CHANGED
|
@@ -8,37 +8,65 @@ license_link: https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct/blob/main/LI
|
|
| 8 |
pipeline_tag: text-generation
|
| 9 |
tags:
|
| 10 |
- code
|
| 11 |
-
- codeqwen
|
| 12 |
-
- chat
|
| 13 |
-
- qwen
|
| 14 |
- qwen-coder
|
| 15 |
- mlx
|
|
|
|
|
|
|
|
|
|
| 16 |
---
|
| 17 |
|
| 18 |
-
#
|
| 19 |
|
| 20 |
-
This
|
| 21 |
-
converted to MLX format from [mlx-community/Qwen2.5-Coder-7B-Instruct-4bit](https://huggingface.co/mlx-community/Qwen2.5-Coder-7B-Instruct-4bit)
|
| 22 |
-
using mlx-lm version **0.28.2**.
|
| 23 |
|
| 24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
```bash
|
| 27 |
pip install mlx-lm
|
| 28 |
```
|
| 29 |
|
|
|
|
|
|
|
| 30 |
```python
|
| 31 |
from mlx_lm import load, generate
|
| 32 |
|
| 33 |
model, tokenizer = load("ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit")
|
| 34 |
|
| 35 |
-
prompt = "
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
messages = [{"role": "user", "content": prompt}]
|
| 39 |
-
prompt = tokenizer.apply_chat_template(
|
| 40 |
-
messages, add_generation_prompt=True
|
| 41 |
-
)
|
| 42 |
|
| 43 |
-
response = generate(model, tokenizer, prompt=prompt,
|
|
|
|
| 44 |
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
pipeline_tag: text-generation
|
| 9 |
tags:
|
| 10 |
- code
|
|
|
|
|
|
|
|
|
|
| 11 |
- qwen-coder
|
| 12 |
- mlx
|
| 13 |
+
- cybersecurity
|
| 14 |
+
- nist
|
| 15 |
+
- fine-tuned
|
| 16 |
---
|
| 17 |
|
| 18 |
+
# HackIDLE-NIST-Coder (MLX 4-bit)
|
| 19 |
|
| 20 |
+
This is the first MLX build of HackIDLE-NIST-Coder, a NIST-focused local model built from Qwen2.5-Coder-7B-Instruct and fine-tuned on a NIST cybersecurity corpus.
|
|
|
|
|
|
|
| 21 |
|
| 22 |
+
This repo is kept for reproducibility. For new testing, start with the v1.1 MLX build:
|
| 23 |
+
|
| 24 |
+
- [ethanolivertroy/HackIDLE-NIST-Coder-v1.1-MLX-4bit](https://huggingface.co/ethanolivertroy/HackIDLE-NIST-Coder-v1.1-MLX-4bit)
|
| 25 |
+
|
| 26 |
+
Use this model as a helper. Do not treat it as a source of truth for exact control names, RMF step lists, or reference-architecture component names without checking the source publication.
|
| 27 |
+
|
| 28 |
+
## Training data
|
| 29 |
+
|
| 30 |
+
This first build used `523,706` examples from `568` NIST cybersecurity documents.
|
| 31 |
+
|
| 32 |
+
Training dataset:
|
| 33 |
+
|
| 34 |
+
- [ethanolivertroy/nist-cybersecurity-training](https://huggingface.co/datasets/ethanolivertroy/nist-cybersecurity-training)
|
| 35 |
+
|
| 36 |
+
## Current eval status
|
| 37 |
+
|
| 38 |
+
The dated smoke eval from April 22, 2026 was run against the Ollama `latest` tag, which matched the v1.1 line in the local install used for that check. I have not rerun that exact eval against this older MLX build.
|
| 39 |
+
|
| 40 |
+
The v1.1 result matters for this older build too because it sets the right expectation for the model family: the model can stay in-domain while still missing exact NIST structure.
|
| 41 |
+
|
| 42 |
+
Be careful with:
|
| 43 |
+
|
| 44 |
+
- exact control names
|
| 45 |
+
- exact RMF step ordering
|
| 46 |
+
- exact SP 800-207 component naming
|
| 47 |
+
- source-level answers that need to be right on the first pass
|
| 48 |
+
|
| 49 |
+
## Installation
|
| 50 |
|
| 51 |
```bash
|
| 52 |
pip install mlx-lm
|
| 53 |
```
|
| 54 |
|
| 55 |
+
## Usage
|
| 56 |
+
|
| 57 |
```python
|
| 58 |
from mlx_lm import load, generate
|
| 59 |
|
| 60 |
model, tokenizer = load("ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit")
|
| 61 |
|
| 62 |
+
prompt = "Which NIST docs would you start with for contractor remote access?"
|
| 63 |
+
messages = [{"role": "user", "content": prompt}]
|
| 64 |
+
prompt = tokenizer.apply_chat_template(messages, add_generation_prompt=True)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
|
| 66 |
+
response = generate(model, tokenizer, prompt=prompt, max_tokens=500)
|
| 67 |
+
print(response)
|
| 68 |
```
|
| 69 |
+
|
| 70 |
+
## License
|
| 71 |
+
|
| 72 |
+
The base model is Qwen2.5-Coder-7B-Instruct, released under Apache 2.0. The NIST source publications used for the dataset are public domain U.S. government works. This model card uses Apache 2.0 for the model artifact and documents the NIST data source separately.
|