Instructions to use unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF", dtype="auto") - llama-cpp-python
How to use unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF", filename="BF16/Qwen3-Coder-30B-A3B-Instruct-BF16-00001-of-00002.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF with llama.cpp:
Install from brew
brew install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL # Run inference directly in the terminal: llama-cli -hf unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL # Run inference directly in the terminal: llama-cli -hf unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL
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 unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL # Run inference directly in the terminal: ./llama-cli -hf unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL
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 unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL # Run inference directly in the terminal: ./build/bin/llama-cli -hf unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL
Use Docker
docker model run hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL
- LM Studio
- Jan
- vLLM
How to use unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL
- SGLang
How to use unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF 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 "unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF" \ --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": "unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'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 "unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF" \ --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": "unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF with Ollama:
ollama run hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL
- Unsloth Studio
How to use unsloth/Qwen3-Coder-30B-A3B-Instruct-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 unsloth/Qwen3-Coder-30B-A3B-Instruct-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 unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF to start chatting
- Pi
How to use unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL
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": "unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL
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 unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL
Run Hermes
hermes
- Atomic Chat new
- Docker Model Runner
How to use unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF with Docker Model Runner:
docker model run hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL
- Lemonade
How to use unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL
Run and chat with the model
lemonade run user.Qwen3-Coder-30B-A3B-Instruct-GGUF-UD-Q4_K_XL
List all available models
lemonade list
IQ4_NL 17.3 GB and OLLAMA_KV_CACHE_TYPE' -Value 'q8_0' Gibber after certain 100k context
I have posted about 150k tokens from a mod (https://github.com/sirskunkalot/PlanBuild)
and when asking the sourcebase it will respond with gibberish:
Streaming response:
Looking.9.%:
)ζδ½Ώη¨ 1).ζ =>ζγ
,:,,)
,
;
ζ string?..
Null =,
.;:)
9: %),: ofζ9
,
,
ζεΊη‘ε±ζ§
ζ 0.
",
.ζ.:9.;
+ EqualityComparer<ζ Curve9S..)).;
.).,
,
),:,9,
.,:ζ..:..ζ Func)
;
: =ζ,SS.,
.γ of foreach //) >
) | 0 }
F = => 0 ToString > 1οΌ
, V1.ζ 1,IntPtr 1);
, return.9):float =ζ0.1ζ.900..9 with //ζ ushort // > |)
}
1 = >;. and P1ζ.
.9, 't<br
;
and =ζBench <|fim_suffix|>0
ζ {
| 0 | >VectorBy = >
.ζ 411:.,,,0.., 00:ζ
ζ 1.)();
.AddTo<0: 1
,Buffer
οΌ
:string =Rζ οΌ
: Debug. of =1ζ, SystemB
91ζ.
)οΌ
. > .P
of
base {
x1ζ:
θ
{
>
|1ζζ, Mathf
//
. >System
)Z
,
<br istance2ζζ]11)
, typeof(" // BaseBase, Program
and 1<br", new.<br1
<br //0εη€ΎδΌ File, Unity.1.Space.;
CopyζSSζ1ζ).S.0],
2;
();
, Get);
this 0 the = 1ζζ,Bζ.:
<<<<<<<ζιθ‘ζζ,base,e;
varB.Invokeζ
=
00",
Instead with q4_K_M I have no issue, I suspect there is some issue with the OLLAMA_KV_CACHE_TYPE and the NL version.
import requests
import json
#Llama-3_3-Nemotron-Super-49B-v1_5-GGUF:q5_k_xl
#hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:q6_k
#hf.co/unsloth/Llama-3_3-Nemotron-Super-49B-v1_5-GGUF:iq4_nl
#hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:IQ4_NL
#hf.co/unsloth/Magistral-Small-2509-GGUF:Q6_K
#qwen3-coder:30b-a3b-q4_K_M
def send_prompt_with_file_ollama(user_input, filename, model="qwen3-coder:30b-a3b-q4_K_M",
host="192.168.1.88", port=11437, output_path="output.md"):
# Read file content
try:
with open(filename, 'r', encoding='utf-8') as f:
file_content = f.read()
except Exception as e:
print(f"Error reading file: {e}")
return
# Combine prompt
full_prompt = f"{user_input}\n\nHere is the file content:\n{file_content}"
url = f"http://{host}:{port}/api/generate"
payload = {
"model": model,
"prompt": full_prompt,
"stream": True # enables streaming chunks
}
streamed_output = ""
print("Streaming response:\n")
try:
with requests.post(url, json=payload, stream=True) as response:
response.raise_for_status()
for line in response.iter_lines(decode_unicode=True):
if not line.strip():
continue
try:
data = json.loads(line)
# Ollama streams tokens in "response"
token = data.get("response", "")
if token:
print(token, end='', flush=True)
streamed_output += token
# When done, Ollama sends a JSON object with "done": true
if data.get("done", False):
break
except json.JSONDecodeError:
print(f"\n[Warning: Couldn't decode line: {line}]\n")
except Exception as e:
print(f"Request failed: {e}")
return
# Save output to markdown file
try:
with open(output_path, 'w', encoding='utf-8') as f:
f.write(streamed_output)
print(f"\n\n--- Saved output to: {output_path} ---")
except Exception as e:
print(f"Error saving output to file: {e}")
print("--- Done. Press Enter to exit. ---")
input()
# Example usage
send_prompt_with_file_ollama(
user_input="""give me a code analysis and how objects are related and what is the most nested part there""",
filename="E:/python_projects/MinimalAIChatMod/dirs_2025-07-09_23-02-29.txt",
output_path="E:/python_projects/MinimalAIChatMod/local_llm10.md"