How it works · Chapter 8
Under the hood: one laptop, open models
What runs where, and why every model is one anyone can download.
Open models, end to end
Every model in Hamsa is open-weight: its weights are published, and anyone can download and run it. A newsroom in Nepal has nothing to subscribe to, nothing that stops working when a foreign company changes its prices, and no reason to send someone's footage off its own machine.
| Job | Model | Where |
|---|---|---|
| Read the post and its frames | Qwen3-VL-8B | the laptop's GPU |
| Search by meaning, find duplicates | bge-m3 | CPU |
| Match footage | SigLIP 2, with pHash and ORB | CPU |
| Draft the verdict, check fact-checks and Nepali | gpt-oss-120b and 20b | Groq (optional), or the local model |
Built for a small machine
- The graphics card is for the vision model only. With 8 GB of video memory, everything else runs on the processor.
- One worker, one case at a time, from a queue in an ordinary SQLite file. If anything crashes, the case is picked up again; nothing is lost.
- Every model answer is checked against a strict format. An answer that does not fit is retried, falls back to the local model, or goes to a person.
- One command (
docker compose up) starts the API, worker, news watcher, website and vector store.