Instructions to use vikramlingam/SmolLM2-360M-Post-ASR-Engine with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use vikramlingam/SmolLM2-360M-Post-ASR-Engine with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] hf download vikramlingam/SmolLM2-360M-Post-ASR-Engine --local-dir SmolLM2-360M-Post-ASR-Engine
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use vikramlingam/SmolLM2-360M-Post-ASR-Engine 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 vikramlingam/SmolLM2-360M-Post-ASR-Engine:Q4_K_M # Run inference directly in the terminal: llama cli -hf vikramlingam/SmolLM2-360M-Post-ASR-Engine:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf vikramlingam/SmolLM2-360M-Post-ASR-Engine:Q4_K_M # Run inference directly in the terminal: llama cli -hf vikramlingam/SmolLM2-360M-Post-ASR-Engine: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 vikramlingam/SmolLM2-360M-Post-ASR-Engine:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf vikramlingam/SmolLM2-360M-Post-ASR-Engine: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 vikramlingam/SmolLM2-360M-Post-ASR-Engine:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf vikramlingam/SmolLM2-360M-Post-ASR-Engine:Q4_K_M
Use Docker
docker model run hf.co/vikramlingam/SmolLM2-360M-Post-ASR-Engine:Q4_K_M
- Llama new
- LM Studio
- Jan
- Ollama
How to use vikramlingam/SmolLM2-360M-Post-ASR-Engine with Ollama:
ollama run hf.co/vikramlingam/SmolLM2-360M-Post-ASR-Engine:Q4_K_M
- Unsloth Desktop
- Docker Model Runner
How to use vikramlingam/SmolLM2-360M-Post-ASR-Engine with Docker Model Runner:
docker model run hf.co/vikramlingam/SmolLM2-360M-Post-ASR-Engine:Q4_K_M
- Lemonade
How to use vikramlingam/SmolLM2-360M-Post-ASR-Engine with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull vikramlingam/SmolLM2-360M-Post-ASR-Engine:Q4_K_M
Run and chat with the model
lemonade run user.SmolLM2-360M-Post-ASR-Engine-Q4_K_M
List all available models
lemonade list
- Atomic Chat
File size: 3,967 Bytes
adbc6be c5827c5 adbc6be | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | ---
language:
- en
license: apache-2.0
base_model: HuggingFaceTB/SmolLM2-360M-Instruct
tags:
- asr
- speech-formatting
- smollm2
- mlx
- formatting-engine
---
# SmolLM2-360M-Post-ASR-Engine
A compact, local fine-tune of **HuggingFaceTB/SmolLM2-360M-Instruct** designed to act as a lightweight post-ASR (Automatic Speech Recognition) formatting utility.
## Purpose & Scope
Raw ASR transcripts often lack punctuation, structure, capitalization, and contain disfluencies. This model transforms raw spoken transcripts into clean, structured text using specific task tokens.
### Supported Task Tokens
1. `<|task:format_email|>`: Formats raw spoken notes into a structured email with Subject line and body.
2. `<|task:bullet_points|>`: Extracts concise, action-oriented bullet points from meeting or standup dictations.
3. `<|task:clean_punctuate|>`: Restores punctuation, capitalization, numbers, and technical abbreviations.
4. `<|task:neutral_paraphrase|>`: Rewrites verbose or conversational transcripts into neutral, concise statements.
### Training Details
- **Base Architecture**: SmolLM2-360M-Instruct
- **Method**: Weight-Decomposed Low-Rank Adaptation (DoRA) with prompt loss masking on Apple Silicon (`mlx-lm`). Fused into standalone weights.
- **Style Constraints**: Banned conversational fluff ("delve", "in summary", "tapestry") and em dashes (`—`, `–`).
---
## Usage
### 1. With MLX-LM (Apple Silicon)
```python
from mlx_lm import load, generate
model_id = "vikramlingam/SmolLM2-360M-Post-ASR-Engine"
model, tokenizer = load(model_id)
prompt = """<|im_start|>system
You are a concise, neutral post-ASR formatting engine. Output clean formatting strictly following the task prefix token. Do not include introductory or concluding conversational filler, AI buzzwords, or em dashes.<|im_end|>
<|im_start|>user
<|task:format_email|> hey team quick heads up standup is moved to tomorrow at eleven am let me know if that works<|im_end|>
<|im_start|>assistant
"""
response = generate(model, tokenizer, prompt=prompt, max_tokens=256)
print(response)
```
### 2. With Hugging Face Transformers
```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "vikramlingam/SmolLM2-360M-Post-ASR-Engine"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.float32)
messages = [
{"role": "system", "content": "You are a concise, neutral post-ASR formatting engine. Output clean formatting strictly following the task prefix token. Do not include introductory or concluding conversational filler, AI buzzwords, or em dashes."},
{"role": "user", "content": "<|task:bullet_points|> alex will finish the auth service by wednesday and maria will write load tests on staging"},
]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=256, do_sample=False)
print(tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True))
### 3. With llama.cpp / GGUF (Q4_K_M)
```python
from llama_cpp import Llama
# Download SmolLM2-360M-Post-ASR-Q4_K_M.gguf from this repo
llm = Llama.from_pretrained(
repo_id="vikramlingam/SmolLM2-360M-Post-ASR-Engine",
filename="SmolLM2-360M-Post-ASR-Q4_K_M.gguf",
n_ctx=1024,
n_gpu_layers=-1,
verbose=False,
)
prompt = """<|im_start|>system
You are a concise, neutral post-ASR formatting engine. Output clean formatting strictly following the task prefix token. Do not include introductory or concluding conversational filler, AI buzzwords, or em dashes.<|im_end|>
<|im_start|>user
<|task:format_email|> hey mark we need to shift standup to eleven am please check slide four<|im_end|>
<|im_start|>assistant
"""
output = llm(prompt, max_tokens=256, stop=["<|im_end|>"], temperature=0.0)
print(output["choices"][0]["text"].strip())
```
|