惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
博客园_首页
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research
云风的 BLOG
云风的 BLOG
MongoDB | Blog
MongoDB | Blog
美团技术团队
H
Help Net Security
G
Google Developers Blog
B
Blog RSS Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
aimingoo的专栏
aimingoo的专栏
Google DeepMind News
Google DeepMind News
J
Java Code Geeks
M
MIT News - Artificial intelligence
腾讯CDC
IT之家
IT之家
Vercel News
Vercel News
C
Check Point Blog
博客园 - 三生石上(FineUI控件)
Last Week in AI
Last Week in AI
I
InfoQ
博客园 - 司徒正美
A
About on SuperTechFans

Show HN

GitHub - astefanutti/shaderbang: Shebang for Shaders Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal). Release v0.1.2.1 · kouhxp/yapsnap
GitHub - roandejager/Hillock
roandejager · 2026-06-15 · via Show HN

Hi! This is Hillock, which is basically a local, personal memory system I've been hacking on because standard vector databases always felt way too heavy and complicated just to run a quick, offline chatbot on my own computer.

⚠️ Heads up: This project is very much a work in progress, and honestly, it isn't all that. It's just a fun personal experiment I'm working on to see if we can use brain-inspired math to make local AI memory better. It is definitely not a finished, production-ready product, so expect some clunky parts and weird bugs.


📊 Quick Performance Baseline

I put this prototype through a massive, highly rigorous 30-sentence scientific benchmark with complex sentence structures, deep distractors, and tricky "hard negative" queries. Running a tiny local Qwen 1.5B model, here is how it did:

  • Retrieval Accuracy: 30.0% (It retrieved the correct facts for some of the highly complex queries, but the tiny model missed others during extraction).
  • Gate Accuracy: 30.0% (It successfully blocked many unanswerable/hallucinatory queries, though some leaks occurred due to tiny model extraction errors).

(For a more detailed technical breakdown of these metrics and why running a tiny 1.5B model on complex grammar is actually quite hard, check out the Benchmark section at the bottom.)


⚙️ How It Works (The General Flow)

Here is a quick look at how data moves through the system:

       [Raw Text / PDFs]
               │
               ▼  (Parallel Ingestor)
       [ Ollama (Qwen2) ]
         │            │
         ▼            ▼
    [SQLite Graph]  [Hebbian Memory]
         │            │
         └─────┬──────┘
               ▼
       [VSA/HDC Reservoir] ──► [Gating Controller (Hillock)]

(Note: This ASCII diagram was made with AI, so it might not be 100% correct or perfectly aligned, but it shows the general idea of how things connect.)

Basically, it splits the work into a few different layers:

  • 💾 SQLite Graph: Stores the permanent, hard facts as simple triples (like Marie_Curie -> born_in -> Poland) so the system has a solid ground truth.
  • Hebbian Plasticity: Dynamically tracks which entities are being talked about in the chat and strengthens the connections between them, like a simple digital synapse.
  • 🌀 Hyperdimensional Computing (HDC): Uses a 10,000-dimensional vector that constantly updates with conversational history, which helps the system resolve pronouns (like "he" or "she") and decide when to block a query to prevent hallucinations.

🚀 Quick Start (How to run it)

If you actually want to try running this clunky prototype, it is highly recommended to set up a clean Python virtual environment so you do not mess up your global packages. You will also need Ollama installed and running locally.

1. Clone and Navigate

git clone https://github.com/roandejager/Hillock.git
cd Hillock

2. Set Up Virtual Environment

# Create the environment
python -m venv .venv

# Activate it (Windows)
.venv\Scripts\activate

# Activate it (Mac/Linux)
source .venv/bin/activate

3. Install Dependencies & Pull Model

pip install -r requirements.txt
ollama pull qwen2:1.5b

4. Start the Chat Console

Inside the console, you can use these commands:

  • /ingest [filepath] — Index a local .txt or .pdf file.
  • /mode [strict/balanced/conversational] — Change how conversational the AI is.
  • /reset — Wipe the SQLite database and reset the HDC memory space.

📊 Detailed Technical Benchmarks

Here is the exact diagnostic output from the upgraded, highly rigorous evaluation script (evaluate_hillock_PROTO_ish.py):

--------------------------------------------------
  * Extraction Precision : 10.6%  (Correctly structured factual nodes)
  * Extraction Recall    : 22.7%  (Completeness of indexed relations)
  * Retrieval Accuracy   : 30.0%  (Factual accuracy on answerable queries)
  * Gate Accuracy        : 30.0%  (Hallucination defense rate)
--------------------------------------------------

Why the scores are what they are:

  • The 10.6% Extraction Precision & 22.7% Recall: We pushed the evaluation set to a massive 30 complex, multi-subject sentences spanning Quantum Physics, Computer Science, Space Exploration, and Philosophy. A tiny 1.5B parameter model (qwen2:1.5b) is simply too small to parse this much dense text without getting confused. It hallucinated relationships like [James_Watson] -[discovered]-> [double-helix_model_of_DNA] or [Grace_Hopper] -[became_a_pioneer]-> [developed_the_first_compiler].
  • The "Newton / Galileo / Aristotle" Blocks: Because the 1.5B model failed to parse their clean relations during the parallel ingestion phase, those questions were safely blocked during step 2 (resulting in correct blocks for unanswerable ones but false blocks for answerable ones).
  • The "Edison / Feynman" Leaks: Because the 1.5B model extracted noisy relations during ingestion (like [Heinrich_Hertz] -[born_in]-> [Hamburg,_Germany]), when asked about unmentioned things (like who Hertz collaborated with), the gate opened on the birth fact, resulting in "leaks" under the strict test suite.
  • Vector Normalization: The retriever matching itself is mathematically highly stable. By keeping all candidate facts strictly bound to exactly 3 unique components (Subject, Object, and best-matching Predicate word), we prevent shorter facts from having artificially higher similarity scores.

📂 File Reference

  • config.py — Holds all the hyperparameters (HDC dimensions, decay rates, etc.).
  • database.py — The SQLite interface for symbolic fact storage.
  • ingestor.py — Spawns parallel worker threads to chunk and parse documents.
  • plasticity.py — Tracks Hebbian co-activation weights betwee