Text Generation
Transformers
Safetensors
GGUF
PEFT
English
qwen3_moe
angular
ollama
typescript
frontend
code
lora
conversational
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
- llama.cpp
How to use bharathmuppa/angular-coder-30b-a3b 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 bharathmuppa/angular-coder-30b-a3b:Q4_K_M # Run inference directly in the terminal: llama cli -hf bharathmuppa/angular-coder-30b-a3b:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf bharathmuppa/angular-coder-30b-a3b:Q4_K_M # Run inference directly in the terminal: llama cli -hf bharathmuppa/angular-coder-30b-a3b:Q4_K_M
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 bharathmuppa/angular-coder-30b-a3b:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf bharathmuppa/angular-coder-30b-a3b:Q4_K_M
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 bharathmuppa/angular-coder-30b-a3b:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf bharathmuppa/angular-coder-30b-a3b:Q4_K_M
Use Docker
docker model run hf.co/bharathmuppa/angular-coder-30b-a3b:Q4_K_M
- LM Studio
- Jan
- 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:Q4_K_M
- 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?" } ] }' - Ollama
How to use bharathmuppa/angular-coder-30b-a3b with Ollama:
ollama run hf.co/bharathmuppa/angular-coder-30b-a3b:Q4_K_M
- Unsloth Desktop
- Pi
How to use bharathmuppa/angular-coder-30b-a3b with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf bharathmuppa/angular-coder-30b-a3b:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "bharathmuppa/angular-coder-30b-a3b:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- 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:Q4_K_M
- Lemonade
How to use bharathmuppa/angular-coder-30b-a3b with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull bharathmuppa/angular-coder-30b-a3b:Q4_K_M
Run and chat with the model
lemonade run user.angular-coder-30b-a3b-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use bharathmuppa/angular-coder-30b-a3b with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf bharathmuppa/angular-coder-30b-a3b:Q4_K_M
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 bharathmuppa/angular-coder-30b-a3b:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use bharathmuppa/angular-coder-30b-a3b with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf bharathmuppa/angular-coder-30b-a3b:Q4_K_M
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 "bharathmuppa/angular-coder-30b-a3b:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
|
Download README.md from bharathmuppa/angular-coder-30b-a3b: direct link, hf CLI and curl.
- Browser
- Download file 4.37 kB
-
https://huggingface.co/bharathmuppa/angular-coder-30b-a3b/resolve/main/README.md
- Command line
-
hf download hf://bharathmuppa/angular-coder-30b-a3b/README.md
-
curl -L -o README.md https://huggingface.co/bharathmuppa/angular-coder-30b-a3b/resolve/main/README.md
4.37 kB
| license: apache-2.0 | |
| base_model: Qwen/Qwen3-Coder-30B-A3B-Instruct | |
| language: | |
| - en | |
| tags: | |
| - angular | |
| - gguf | |
| - ollama | |
| - typescript | |
| - frontend | |
| - code | |
| - lora | |
| - peft | |
| datasets: | |
| - bharathmuppa/angular-instruct | |
| pipeline_tag: text-generation | |
| library_name: transformers | |
| # 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 `transformers` and `peft` on 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 | |
| ```python | |
| 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. | |
| ```sh | |
| ollama run hf.co/bharathmuppa/angular-coder-30b-a3b:Q4_K_M | |
| ``` | |
| Or build it locally from the Modelfile: | |
| ```sh | |
| 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: | |
| ```sh | |
| 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. | |