Instructions to use bharathmuppa/angular-coder-30b-a3b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use bharathmuppa/angular-coder-30b-a3b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="bharathmuppa/angular-coder-30b-a3b") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("bharathmuppa/angular-coder-30b-a3b") model = AutoModelForCausalLM.from_pretrained("bharathmuppa/angular-coder-30b-a3b", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.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=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - PEFT
How to use bharathmuppa/angular-coder-30b-a3b with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use bharathmuppa/angular-coder-30b-a3b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "bharathmuppa/angular-coder-30b-a3b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "bharathmuppa/angular-coder-30b-a3b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/bharathmuppa/angular-coder-30b-a3b
- SGLang
How to use bharathmuppa/angular-coder-30b-a3b 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 "bharathmuppa/angular-coder-30b-a3b" \ --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": "bharathmuppa/angular-coder-30b-a3b", "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 "bharathmuppa/angular-coder-30b-a3b" \ --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": "bharathmuppa/angular-coder-30b-a3b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use bharathmuppa/angular-coder-30b-a3b with Docker Model Runner:
docker model run hf.co/bharathmuppa/angular-coder-30b-a3b
angular-coder-30b-a3b
A code model that is an expert in Angular. It knows each Angular version from
v14 to v22. It writes modern Angular: standalone components, signals,
inject(), @if / @for, @defer, zoneless change detection, Signal Forms,
the @Service decorator, the application builder and the ng update migrations.
It was trained to write complete, compiling projects that follow one coding
guideline (docs/ANGULAR-GUIDELINES.md in the source repository).
- Base model:
Qwen/Qwen3-Coder-30B-A3B-Instruct - Method: LoRA (rank 16, attention projections q/k/v/o), merged into the base weights in bf16
- Trained with
transformersandpefton one NVIDIA A100 80GB - Data:
bharathmuppa/angular-instruct(3461 instruction pairs: Angular docs, version facts, known issues, Material, CDK, NgRx, angular-eslint, the CLI, and 400 compiled and lint-checked project records)
The weights are the full merged model in bf16, so this repository is large. The
adapter alone is in bharathmuppa/angular-coder-30b-a3b-lora.
Use with transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
m = "bharathmuppa/angular-coder-30b-a3b"
tok = AutoTokenizer.from_pretrained(m)
model = AutoModelForCausalLM.from_pretrained(m, dtype="auto", device_map="auto")
msgs = [{"role": "system", "content": SYSTEM},
{"role": "user", "content": "Write a standalone Angular 22 component with a required signal input."}]
text = tok.apply_chat_template(msgs, add_generation_prompt=True, tokenize=False)
enc = tok(text, return_tensors="pt").to(model.device)
print(tok.decode(model.generate(**enc, max_new_tokens=800)[0][enc["input_ids"].shape[1]:], skip_special_tokens=True))
The model was trained with this system prompt (SYSTEM above). Use it for best results:
You are an expert Angular engineer. You know every Angular version from v12 to the current release: NgModules, standalone components, signals, the new control flow, inject(), deferrable views, zoneless change detection, SSR, the CLI and migrations. Answer with correct, modern, idiomatic TypeScript and say which Angular version a feature needs when it matters.
Use with Ollama / llama.cpp (GGUF)
This repo also holds GGUF builds, made on the training pod with llama.cpp:
angular-coder-30b-a3b-Q4_K_M.gguf (about 18 GB, needs about 20 GB of memory) and
angular-coder-30b-a3b-Q8_0.gguf (about 32 GB), plus a Modelfile with the system prompt and
chat template.
ollama run hf.co/bharathmuppa/angular-coder-30b-a3b:Q4_K_M
Or build it locally from the Modelfile:
hf download bharathmuppa/angular-coder-30b-a3b --include "angular-coder-30b-a3b-Q4_K_M.gguf" "Modelfile" --local-dir angular-coder
cd angular-coder && ollama create angular-coder -f Modelfile && ollama run angular-coder
Q8_0 is closest to the bf16 weights; Q4_K_M is fine for scaffolding. On Apple
Silicon mlx-lm can also load the bf16 weights directly:
pip install mlx-lm
python -m mlx_lm convert --hf-path bharathmuppa/angular-coder-30b-a3b -q --q-bits 4 --mlx-path angular-coder-4bit
python -m mlx_lm generate --model angular-coder-4bit --prompt "What is new in Angular 22?"
Training
| Setting | Value |
|---|---|
| Records (train / valid / test) | 3182 / 172 / 103 |
| Steps done | 796 optimizer steps (2.0 epochs; the loop has a wall-clock limit of 170 minutes) |
| Final loss | train 1.1279, eval 1.1662 |
| Batch | 1 x 8 gradient accumulation, max 4096 tokens |
| Learning rate | 3e-5, cosine, 50 warm-up steps |
| LoRA | rank 16, alpha 16, dropout 0.05, q/k/v/o |
| Loss | answer tokens only |
The run log with every loss line is in the dataset repository
bharathmuppa/angular-lm-runs. The source, the dataset builder, the checker that
compiles and lints the project records, and the evaluation script are in the
GitLab project mahaamatsya/ai/angular-lm.
Limits
The model writes scaffolds well. Logic can still have defects, so review the output and run the compiler and the linter. Version facts after early 2026 come only from the training data.
- Downloads last month
- -
Model tree for bharathmuppa/angular-coder-30b-a3b
Base model
Qwen/Qwen3-Coder-30B-A3B-Instruct