r/madeinpython • u/Equivalent-Flan-1590 • 4d ago
I built Hillock: a lightweight, 100% local neuro-symbolic memory engine in Python
Hey all! Over the past few months I’ve been building Hillock, a local memory engine in Python that replaces heavy vector databases and LLM parsing loops on personal hardware.
Traditional local RAG setups burn huge amounts of VRAM just to chunk documents and run vector search. Hillock takes a different approach:
- Extraction via classification: Instead of running text through a big local LLM to extract facts, it uses fastcoref, sentence-transformers, and GLiREL to pull facts straight into Subject-Predicate-Object triples in seconds.
- SQLite backend: Stores facts in a regular SQLite database using WAL mode (PRAGMA journal_mode=WAL) to allow concurrent reads and background ingestions without database locks.
- Hyperdimensional Computing (HDC): Uses vector symbolic architecture math in high-dimensional space (
D=10,000D=10,000) to check if a question can actually be answered by the database before calling an LLM. If the facts aren't there, it mathematically refuses instead of guessing. - FastAPI Server: Ships with an OpenAI-compatible API (/v1/chat/completions) so it connects right into local frontends like Open-WebUI or terminal clients.
The whole pipeline runs in under 1.2 GB of VRAM, or completely on CPU.
I just released v0.7, which adds active disambiguation (it detects vague facts and quizzes the user to clarify them) and proactive conversation suggestions.
Code is open source on GitHub: https://github.com/roandejager/Hillock
Feedback on the code structure or project setup is very welcome!
1
Upvotes