Skip to main content

🧠 HawkinsDB: Neuroscience-Inspired Memory Layer for LLM Applications

Building smarter LLM applications isn't just about better models - it's about better memory. HawkinsDB is our take on giving AI systems a more human-like way to store and recall information, inspired by how our own brains work. Based on Jeff Hawkins' Thousand Brains Theory, it helps AI models manage complex information in a way that's both powerful and intuitive.

📌 Note for RAG Users: If you're specifically looking to implement Retrieval-Augmented Generation (RAG), consider using HawkinsRAG - our dedicated package built on top of HawkinsDB that simplifies RAG implementation with support for 22+ data sources. Check out the documentation and examples for more details.

🤖 Note for Agent Developers: If you're interested in building AI agents, check out Hawkins-Agent - our specialized framework built on HawkinsDB for creating intelligent agents. Visit our GitHub repository for implementation details.

Why HawkinsDB?

While vector databases and embeddings have revolutionized AI applications, they often miss the nuanced, multi-dimensional nature of information. Here's why we built HawkinsDB:

  • It's not just another vector database: Instead of relying on fuzzy similarity searches, we enable precise, context-aware queries that understand the actual meaning and relationships of your data.

  • One memory system to rule them all: We've unified different types of memory (semantic, episodic, and procedural) into a single framework. Think about a customer support AI that can simultaneously access product specs, past customer interactions, and troubleshooting guides - all working together seamlessly.

  • Inspired by the human brain: We've based our architecture on neuroscience research, using concepts like Reference Frames and Cortical Columns to create a more robust and adaptable system.

  • You can actually understand what's happening: Unlike black-box embeddings, our structured approach lets you see and understand how information is connected and why certain decisions are made.

Requirements

  • Python 3.10 or higher
  • OpenAI API key (for LLM operations)
  • SQLite or JSON storage backend

Installation

# Basic installation
pip install hawkinsdb

# Recommended installation with all features
pip install hawkinsdb[all]

# Install specific features
pip install hawkinsdb[conceptnet]  # ConceptNet tools

Quick Start

Here's a simple example showing the power of HawkinsDB:

from hawkinsdb import HawkinsDB, LLMInterface

# Initialize
db = HawkinsDB()
llm = LLMInterface(db)

# Store knowledge with multiple perspectives
db.add_entity({
    "column": "Semantic",
    "name": "Coffee Cup",
    "properties": {
        "type": "Container",
        "material": "Ceramic",
        "capacity": "350ml"
    },
    "relationships": {
        "used_for": ["Drinking Coffee", "Hot Beverages"],
        "found_in": ["Kitchen", "Coffee Shop"]
    }
})

# Query using natural language
response = llm.query("What can you tell me about the coffee cup?")
print(response)

For more examples, check out our examples directory.

How It Works

HawkinsDB manages information through three core concepts:

🧩 Reference Frames

Smart containers for information that capture what something is, its properties, relationships, and context. This enables natural handling of complex queries like "Find kitchen items related to coffee brewing."

🌐 Cortical Columns

Just like your brain processes information from multiple perspectives (visual, tactile, conceptual), our system stores knowledge in different "columns." This means an object isn't just stored as a single definition - it's understood from multiple angles.

Memory Types

We support three key types of memory:

  • Semantic Memory: For storing facts, concepts, and general knowledge
  • Episodic Memory: For keeping track of events and experiences over time
  • Procedural Memory: For capturing step-by-step processes and workflows

💾 Storage Options

  • SQLite: Rock-solid storage for production systems
  • JSON: Quick and easy for prototyping

🔗 Smart Integrations

ConceptNet integration for automatic knowledge enrichment and relationship discovery.

Contributing

We love contributions! Here's how to help:

  1. Fork the repository
  2. Create your feature branch
  3. Make your changes
  4. Run the tests
  5. Submit a pull request

Development

# Clone and set up
git clone https://github.com/your-username/hawkinsdb.git
cd hawkinsdb
pip install -e ".[dev]"
pytest tests/

🗺️ Status and Roadmap

Currently under active development. Our focus areas:

  • Enhanced multi-modal processing
  • Performance optimizations for large-scale deployments
  • Extended LLM provider support
  • Advanced querying capabilities
  • Improved documentation and examples

License

HawkinsDB is available under the MIT License. See LICENSE for details.


Built by developers who think memory matters ie Harish Santhanalakshmi Ganesan along with few AI Agents

Release files for hawkinsdb 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hawkinsdb 1.0.2
File Size Uploaded
hawkinsdb-1.0.2.tar.gz 39.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hawkinsdb 1.0.2
File Interpreter ABI Platform
hawkinsdb-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 66.0 kB

Release files / hawkinsdb-1.0.2.tar.gz

Download URL hawkinsdb-1.0.2.tar.gz
Size 39.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0120358ca02c2ea57d5745d7531be007e880e2d7fd10b1ad45cfdf8a9095ad58
BLAKE2b-256 checksum
How to use checksums
ca66028c1efaf7b3e4cfcd224593a83913fc73be3088fd87c52abca9adce8217
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.10

Release files / hawkinsdb-1.0.2-py3-none-any.whl

Download URL hawkinsdb-1.0.2-py3-none-any.whl
Size 26.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
795fed9c9d2d2e5aff573caf3e6974725effad0e0a3116391b8ab90e5972cb70
BLAKE2b-256 checksum
How to use checksums
16b4cb54d5c29754298083c8509402492fa417e29885cee82220a13c082f6ec7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.10

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page