Practical overview
When it fits
Use SodaMem when integrating an agent with persistent conversational memory that must account for changing facts and expose the evidence behind retrieved context.
Who it is for
- Developers building conversational AI agents that must retain changing user facts.
- Teams that need citations from recalled context back to the originating conversation turn.
- Agent builders seeking repeatable retrieval without an LLM call for every query.
Documented uses
- Ingest conversation turns and extract fact events for persistent memory.
- Keep prior facts readable when newer facts supersede them.
- Build prompt-ready context and citations for a query.
- Reconstruct entity profiles from stored memory.
Requirements & limits
The repository is public and identifies the project as Apache-2.0 licensed. The quick-start documentation specifies Python 3.11 or later.
- The core implementation is Python; the README also lists a TypeScript adapter for Vercel AI SDK.
- Ingestion uses a fact extractor and configured LLM provider; read-only search and context building can use a store opened without the extractor.
- The documented default installation makes a one-time MiniLM embedding-model download; the README says a pre-seeded cache enables air-gapped use.
- MCP integrations and framework or client adapters provide distinct routes for connecting SodaMem to an existing agent stack.
- The repository reports 92.8% on LongMemEval and 86.88% on LoCoMo; these are project-published benchmark results.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install SodaMem and ingest a conversation turn
Set up a local Python memory store and add a user conversation turn using SodaMem’s documented quick-start flow.
Before you start
- Python 3.11 or later.
- Install the
chromaandllmextras with pip. - An LLM provider configured through environment variables such as
SODAMEM_LLM_API_KEYfor ingestion.
Steps
Install the package with the command below.
pip install "sodamem[chroma,llm]"Create a
SodaMeminstance withSodaMem.open("./data", extractor=FactEventExtractorV2(create_provider_from_env())).Call
mem.ingest()with conversation messages and the documenteduser_id,session_id, andsession_timefields.Build context with
mem.build_context(...)and inspectblock.textandblock.citations.
Expected outcome
A local store is created and receives the supplied turn; context can be rendered with citations to its supporting evidence.
Guide limitations
- The documented example uses the
FactEventExtractorV2extractor for ingestion; search and context building can instead use a read-only store opened without an extractor. - The default install makes a one-time download of the 90 MB MiniLM embedding model; the README says pre-seeding the cache allows air-gapped operation.
- The example’s context-building call is described as requiring zero LLM calls; this does not mean ingestion avoids provider configuration.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 12 October 2026
- Original website title
- SodaMem/SodaMem · Official homepage title · retained in its source language

