- Continuous conversation experience across sessions;
- Retain learnings and user-specific information over many interactions;
- Avoid repetitive questions, improving satisfaction and efficiency;
- Support long-term strategy optimization such as personalization or task tracking.
Single entry point: LongTermMemory
Whatever backend you use, you interact with veadk.memory.long_term_memory.LongTermMemory. It plugs directly into an agent as its memory service and selects the storage backend through backend.
Parameters
Vector backends (
local, opensearch, and redis) embed memories, which requires pip install "veadk-python[extensions]" and an embedding model (env prefix MODEL_EMBEDDING_, falling back to MODEL_AGENT_API_KEY). viking, mem0, and openviking use service-side storage and need no local embedding.Choosing a backend
Uselocal for development. In production, select viking, mem0, or openviking according to data location and service requirements.
Binding to an Agent
Passinglong_term_memory to an Agent auto-injects the load_memory tool so the agent can retrieve past sessions at run time.
Managing memory
Write: add_session_to_memory
When a session ends or hits a checkpoint, call the async add_session_to_memory to persist it. LongTermMemory first filters events (keeping user text events to improve retrieval quality), then hands them to the backend.
Retrieve: search_memory
Besides the agent’s automatic retrieval via load_memory, you can call the async search_memory directly for semantic search — useful for debugging or custom RAG:
get_user_profile(user_id) is supported only by the viking backend; others return an empty string.Auto-save sessions
Setauto_save_session=True on the Agent with long-term memory configured, and VeADK persists sessions automatically — no manual add_session_to_memory.
MIN_MESSAGES_THRESHOLD and MIN_TIME_THRESHOLD env vars to tune the save cadence: by default it saves after 10 accumulated events or a 60-second interval; additionally, when you switch session_id and start a new turn, VeADK saves the previous session to long-term memory.
Cross-session example
An end-to-end flow: session #1 tells the agent a fact and auto-archives it, then a brand-new session #2 asks a question — and the agent recalls the fact via memory retrieval (not the context window). This uses thelocal backend, which needs pip install "veadk-python[extensions]".