Give your AI agents persistent, contextual memory that understands relationships, detects contradictions, and decays naturally over time.
Traditional RAG systems embed text into vectors and hope the nearest match is relevant. But knowledge has structure. James lives in Shoreditch. He works at a firm in Canary Wharf. A vector search for "where is James during the day?" won't traverse that chain.
Hippo combines fulltext search, vector similarity, and graph traversal to reason across relationships — not just match on surface similarity.
Every feature exists because real-world memory is messy. Facts change. Sources conflict. Relevance fades. Hippo handles all of it.
Entities and facts live in a property graph. Multi-hop traversal follows real relationships — not just embedding proximity.
Every query runs fulltext, vector, and graph retrieval in parallel. Results are fused with configurable weights for optimal recall.
New facts are checked against existing knowledge. Contradictions are flagged, old facts invalidated, and provenance chains preserved.
Ask "what did I know on June 1st?" and get a time-slice of your knowledge graph, including facts that were later superseded.
Ebbinghaus-inspired memory decay. Facts lose confidence over time. Salience rises with access and falls with neglect. Just like real memory.
Track which agent contributed what. Source credibility scoring and per-agent contradiction rates keep your knowledge trustworthy.
Tell it things with /remember. Ask it questions with /ask. Entity resolution, contradiction detection, and confidence scoring happen automatically.
{ "statement": "James moved to Shoreditch last month. He started a new role at ACME in Canary Wharf.", "source_agent": "chat-agent" }
{ "entities_created": 3, "entities_resolved": 0, "facts_written": 2, "contradictions_invalidated": 0 }
{ "question": "Where does James work?", "verbose": true }
{ "answer": "James works at ACME in Canary Wharf.", "facts": [{ "fact": "James works at ACME", "subject": "James", "relation_type": "works_at", "object": "ACME", "confidence": 0.92, "hops": 0 }] }
Every query passes through a multi-stage pipeline that combines three retrieval strategies into a single, ranked result set.
Query is parsed, entities extracted, and a vector embedding generated via Ollama
Fulltext, vector similarity, and N-hop graph traversal run in parallel
Results merged with configurable weights. Relevance, confidence, recency, and salience scored
Final ranking with confidence decay applied. Top facts returned with full provenance
Built in Rust for correctness and performance. Every component is tested, observable, and production-ready.
Axum REST API & Model Context Protocol server
Claude LLM for entity extraction, deduplication, contradiction detection
FalkorDB property graph with Ollama embeddings
Confidence decay, link discovery, Prometheus metrics
First-class clients with typed models, async support, and streaming built in. Or hit the REST API directly — your call.
Scale as your agents grow.
Have your own API key? Save 1/3 — available on all plans.
No sign-up. No server. Powered by WebAssembly.
Runs entirely in your browser. No data leaves your machine.
Open source. Self-hosted. Ready to run with Docker Compose.