Instructions to use steampunque/JoyAI-LLM-Flash-MP-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use steampunque/JoyAI-LLM-Flash-MP-GGUF with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="steampunque/JoyAI-LLM-Flash-MP-GGUF", filename="JoyAI-LLM-Flash.Q4_K_H.gguf", )
llm.create_chat_completion( messages = "No input example has been defined for this model task." )
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use steampunque/JoyAI-LLM-Flash-MP-GGUF with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H # Run inference directly in the terminal: llama cli -hf steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H # Run inference directly in the terminal: llama cli -hf steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H # Run inference directly in the terminal: ./llama-cli -hf steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H # Run inference directly in the terminal: ./build/bin/llama-cli -hf steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H
Use Docker
docker model run hf.co/steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H
- LM Studio
- Jan
- Ollama
How to use steampunque/JoyAI-LLM-Flash-MP-GGUF with Ollama:
ollama run hf.co/steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H
- Unsloth Studio
How to use steampunque/JoyAI-LLM-Flash-MP-GGUF with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for steampunque/JoyAI-LLM-Flash-MP-GGUF to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for steampunque/JoyAI-LLM-Flash-MP-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for steampunque/JoyAI-LLM-Flash-MP-GGUF to start chatting
- Pi
How to use steampunque/JoyAI-LLM-Flash-MP-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use steampunque/JoyAI-LLM-Flash-MP-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H
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 steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H
Run Hermes
hermes
- Atomic Chat new
- Docker Model Runner
How to use steampunque/JoyAI-LLM-Flash-MP-GGUF with Docker Model Runner:
docker model run hf.co/steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H
- Lemonade
How to use steampunque/JoyAI-LLM-Flash-MP-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull steampunque/JoyAI-LLM-Flash-MP-GGUF:Q6_K_H
Run and chat with the model
lemonade run user.JoyAI-LLM-Flash-MP-GGUF-Q6_K_H
List all available models
lemonade list
license: Modified MIT
Mixed Precision GGUF layer quantization of JoyAI-LLM-Flash by jdopensource
Original model: https://huggingface.co/jdopensource/JoyAI-LLM-Flash
The hybrid quant employs different quantization levels on a per layer basis to increase flexibility of trading off performance vs file size. Less parameter bits are used at deep layers and more bits at cortex layers to simulultaneously optimize quantized size and model performance. For this file the layer quants are as follows:
Q4_K_L : Q4_K_M + attn_o = q6_k
Q5_K_L : attn_v = q8_0 attn_o = q6_k ffn_d = q6_k
Q6_K_S : Q6_K
LAYER_TYPES='[
[0 ,"Q5_K_S"], [1 ,"Q4_K_L"], [2 ,"Q4_K_M"], [3 ,"Q4_K_S"], [4 ,"Q4_K_S"], [5 ,"Q4_K_S"], [6 ,"Q4_K_S"], [7 ,"Q4_K_S"],
[8 ,"Q4_K_S"], [9 ,"Q4_K_S"], [10,"Q4_K_S"], [11,"Q4_K_S"], [12,"Q4_K_S"], [13,"Q4_K_S"], [14,"Q4_K_S"], [15,"Q4_K_S"],
[16,"Q4_K_M"], [17,"Q4_K_S"], [18,"Q4_K_M"], [19,"Q4_K_S"], [20,"Q4_K_M"], [21,"Q4_K_S"], [22,"Q4_K_M"], [23,"Q4_K_S"],
[24,"Q4_K_M"], [25,"Q4_K_M"], [26,"Q4_K_M"], [27,"Q4_K_M"], [28,"Q4_K_M"], [29,"Q4_K_M"], [30,"Q4_K_M"], [31,"Q4_K_M"],
[32,"Q4_K_M"], [33,"Q4_K_M"], [34,"Q4_K_M"], [35,"Q4_K_L"], [36,"Q5_K_S"], [37,"Q5_K_M"], [38,"Q5_K_L"], [39,"Q6_K_S"]
]'
FLAGS="--token-embedding-type Q6_K --output-tensor-type Q6_K --layer-types-high"
The layer quant profile was taken from Qwen3 Coder Next mapped onto 40 layers and found to work very well across a small set of test prompts. The quant is sized for operation on machines with 32G CPU RAM and one consumer grade GPU for context.
A second larger Q6_K_H quant sized at ~Q6_K bpw is also available:
Q5_K_L : attn_v = q8_0 attn_o = q6_k ffn_d = q6_k
Q6_K_S : Q6_K
Q6_K_M : attn_v = q8_0 ffn_d = q8_0
Q6_K_L : attn_v = q8_0 attn_o = q8_0 ffn_d = q8_0
LAYER_TYPES='[
[0 ,"Q6_K_S"], [1 ,"Q5_K_L"], [2 ,"Q5_K_L"], [3 ,"Q5_K_M"], [4 ,"Q5_K_M"], [5 ,"Q5_K_M"], [6 ,"Q5_K_M"], [7 ,"Q5_K_M"],
[8 ,"Q5_K_M"], [9 ,"Q5_K_M"], [10,"Q5_K_M"], [11,"Q5_K_M"], [12,"Q5_K_L"], [13,"Q5_K_M"], [14,"Q5_K_L"], [15,"Q5_K_M"],
[16,"Q5_K_L"], [17,"Q5_K_L"], [18,"Q5_K_L"], [19,"Q5_K_L"], [20,"Q6_K_S"], [21,"Q5_K_L"], [22,"Q6_K_S"], [23,"Q5_K_L"],
[24,"Q6_K_S"], [25,"Q6_K_S"], [26,"Q6_K_S"], [27,"Q6_K_S"], [28,"Q6_K_S"], [29,"Q6_K_S"], [30,"Q6_K_S"], [31,"Q6_K_S"],
[32,"Q6_K_M"], [33,"Q6_K_M"], [34,"Q6_K_M"], [35,"Q6_K_M"], [36,"Q6_K_L"], [37,"Q6_K_L"], [38,"Q6_K_L"], [39,"Q6_K_L"]
]'
FLAGS="--token-embedding-type Q6_K --output-tensor-type Q6_K --layer-types-high"
This quant will run on ~40G RAM machines and should be close to lossless with minimum Q5_K_M quant across layers. It was optimized for near flawless performance across a small set of reasoning based test prompts.
Both Q4_K_H and Q6_K_H quants were tested across code prompts and found to be capable of generating working code from non trivial test prompts.
Comparison:
| Quant | size | PPL | Comment |
|---|---|---|---|
| Q4_K_M | 29.7e9 | 38 | default embed and output |
| Q4_K_H | 29.7e9 | 38 | Q6_K embed Q6_K output |
| Q6_K | 40.2e9 | 33 | default embed and output |
| Q6_K_H | 38.1e9 | 34 | Q6_K embed Q6_K output |
Usage:
This is a ~50B parameter RL optimized moe model with 3B activated parameters. It does not appear to use explicit reasoning blocks but still can reason quite well over a small set of test prompts. It does not overthink and gave solid reasoning and accuracy on a couple tricky prompts, but as with any LLM it does not possess any actual emergent scaled intelligence and falls flat on some fairly simple IQ test prompts (like most every other LLMs, independent of size, does). Over my experience of working with LLMs this model looks to be extremely good however and is architected to eliminate reliance on high VRAM GPU with 3B active params which CPUs RAM can handle well while still being very strong.
Prompt format:
There is no documentation on how to control the think block for RL. The following experimental prompts were found to work :
For no reasoning block, use this assistant prompt (as defined in the jinja for the model) :
CHAT_ASSISTANT="<|Assistant|><|end_of_thought|>"
To generate a reasoning block, use this assistant prompt:
CHAT_ASSISTANT="<|Assistant|><|begin_of_thought|>"
The model will create a think block and terminate it with "\n<|end_of_thought|>\n", then follow with a distilled answer based on the think block.
When using the think block the model will overthink like most other RL models do, but it may improve the accuracy of the generation. Further testing shows the model often gets hung up talking to itself ad infinitum when using think block, which may explain why enabling the think block is not defined in the chat template jinja. The model appears to be quite capable without using the think block however.
Running:
The model can be efficiently run by offloading expert tensors to CPU via -ot exps=CPU to open up very large context space on even low VRAM GPUs. The smaller size of the optimally quantized parameters will give an effective boost in CPU processing speed due to reducing the memory BW needed to repeatedly copy them from main memory to SIMD regs.
The Q4_K_H model was sized at ~30G and should run on a 32G RAM machine with room left over for a browser. Similar to Qwen3 Coder Next, it appears necessary to offload all experts to CPU; if some expert layers are left on GPU gen rate goes down significantly. The reason for this behavior is not currently known.
Rough performance metrics on a 9900k (128G RAM) and 4070 (12G VRAM)
| CPU EXP OFFLOAD | Q | QKV | Context size | gen rate | ot config |
|---|---|---|---|---|---|
| all | Q4_K_H | F16 | 128K | 24.1 | OT="-ot exps=CPU -ngl 99" |
| 7-39 | Q4_K_H | F16 | 128K | 16.8 | OT="-ot blk\.[7-9]|1[0-9]|2[0-9]|3[0-9].*exps=CPU -ngl 99" |
| all | Q6_K_H | F16 | 128K | 18.3 | OT="-ot exps=CPU -ngl 99" |
High context performance appears to work verified against a needle in haystack prompt. However, prompt processing is on large contexts is quite slow.
Generation quirks:
Rarely the model mixes languages on output (this was Q4_K_H):
a leap of faith that逃避s the tension.
Most likely this effect is baked into the pretrain from the two dominant languages used. The model itself can be used to unify the language in the output:
lm "translate the following mixed language phrase to english: a leap of faith that逃避s the tension."
A leap of faith that **evades** the tension.
Benchmarks:
Evals for the model will eventually be given here: https://huggingface.co/spaces/steampunque/benchlm.
Download the file from below:
| Link | Type | Size/e9 B | Notes |
|---|---|---|---|
| JoyAI-LLM-Flash.Q4_K_H.gguf | Q4_K_H | 29.7 B | ~Q4_K_M size |
| JoyAI-LLM-Flash.Q6_K_H.gguf | Q6_K_H | 38.1 B | ~Q6_K size |
A discussion thread about the hybrid layer quant approach can be found here on the llama.cpp git repository:
- Downloads last month
- 37
6-bit
Model tree for steampunque/JoyAI-LLM-Flash-MP-GGUF
Base model
jdopensource/JoyAI-LLM-Flash