Skip to main content

Memory Banks

Memory banks are isolated containers that store all memory-related data for a specific context or use case.

What is a Memory Bank?

A memory bank is a complete, isolated storage unit containing:

  • Memories — Facts and information retained from conversations
  • Documents — Files and content indexed for retrieval
  • Entities — People, places, concepts extracted from memories
  • Relationships — Connections between entities in the knowledge graph

Banks are completely isolated from each other — memories stored in one bank are not visible to another.

You don't need to pre-create a bank. Hindsight will automatically create it with default settings when you first use it.

Prerequisites

Make sure you've completed the Quick Start to install the client and start the server.

Creating a Memory Bank

from hindsight_client import Hindsight

client = Hindsight(base_url="http://localhost:8888")

client.create_bank(
bank_id="my-bank",
name="Research Assistant",
background="I am a research assistant specializing in machine learning",
disposition={
"skepticism": 4,
"literalism": 3,
"empathy": 3
}
)

Background and Disposition

Background and disposition are optional settings that influence how the bank forms opinions during reflect operations.

info

Background and disposition only affect the reflect operation (opinion formation). They do not impact retain, recall, or other memory operations.

Background

The background is a first-person narrative providing context for opinion formation:

client.create_bank(
bank_id="financial-advisor",
background="""I am a conservative financial advisor with 20 years of experience.
I prioritize capital preservation over aggressive growth.
I have seen multiple market crashes and believe in diversification."""
)

Disposition Traits

Disposition traits influence how opinions are formed during reflection. Each trait is scored 1 to 5:

TraitLow (1)High (5)
SkepticismTrusting, accepts information at face valueSkeptical, questions and doubts claims
LiteralismFlexible interpretation, reads between the linesLiteral interpretation, takes things exactly as stated
EmpathyDetached, focuses on facts and logicEmpathetic, considers emotional context