Logo Lanfrica

dimittri1/ondjila

Domaine:

natural language processingdigital infrastructure

Type de record:

software
Créateur:
dim
Hôte:
Offline autonomous agent runtime for places where the system is down. llama.cpp + GGUF, CPU only, under 7 GB. Africa Deep Tech Challenge 2026. # Ondjila **An offline agent runtime for places where the system is down.** `onjila` — path, road (Umbundu) --- Ondjila runs a complete autonomous agent on a low-cost laptop with **no internet connection, no cloud, and no GPU**, inside a **7 GB memory ceiling**. It is built for the two thirds of the world where connectivity is intermittent, expensive, or simply absent — and where the information people need most is locked behind a counter that is closed. It is one engine and many modules. The engine is universal. The modules are local. ## The problem this exists to solve Small language models are unreliable agents, and the failure is structural rather than cosmetic. A 1.7B model emits syntactically valid tool calls roughly 80% of the time but completes only about **17% of multi-turn agentic tasks**. The arithmetic is unforgiving: with per-step accuracy *p* across *m* steps, end-to-end success is *p^m*, and the per-step error rate *rises* as the trajectory grows because the model conditions on its own earlier mistakes. The usual response is a bigger model. That option does not exist under a 7 GB ceiling on a CPU. **So Ondjila removes the decision from the model.** At every step the model can physically only emit a legal transition for the state it is in, because the engine compiles a **GBNF grammar from that state's schema** and constrains decoding to it. Rules, arithmetic, eligibility and deadlines are evaluated by deterministic code that cannot hallucinate. The model does the one thing it is good at — understanding what a person meant, and saying something back in their language. The model proposes. Code disposes. ## Why this matters for languages nobody serves Recent work on tool calling across Chinese, Hindi and Igbo found that multilingual degradation is driven by **execution-interface violations rather than semantic misunderstanding**: models select the correct tool and generate sensible arguments, then fail the strict surface form the executor dema …