Skip to main content

Overview

JSONStorage provides a file-based JSON storage backend. Ideal for simple applications, prototyping, and scenarios where human-readable data files are preferred.

Basic Usage

from upsonic import Agent, Task
from upsonic.storage.memory import Memory
from upsonic.storage.json import JSONStorage

storage = JSONStorage(db_path="./memory_data")

memory = Memory(
    storage=storage,
    session_id="session_001",
    user_id="user_123",
    full_session_memory=True,
    summary_memory=True,
    user_analysis_memory=True,
    model="openai/gpt-4o"
)

agent = Agent("openai/gpt-4o", memory=memory)

result1 = agent.do(Task("My name is Bob"))
result2 = agent.do(Task("What's my name?"))
print(result2)  # "Your name is Bob"

File Structure

memory_data/
├── upsonic_sessions.json
└── upsonic_user_memories.json

Parameters

ParameterTypeDefaultDescription
db_pathstr | None"./upsonic_json_db"Directory for JSON files
session_tablestr | None"upsonic_sessions"Session JSON file name (without .json)
user_memory_tablestr | None"upsonic_user_memories"User memory JSON file name (without .json)
idstr | Noneauto-generatedStorage instance ID

Storage Type

JSONStorage is a synchronous storage implementation using file-based JSON serialization.