FAQ
Want a zero-setup option? The hosted platform at app.memorilabs.ai offers 100 memories free without an API key, and 5,000/month with a free API key.
What is Memori?
An open-source memory layer for AI agents. It captures conversations, extracts facts, and stores them in your own database for semantic search.
Hosted vs open source?
Hosted — managed storage, dashboard UI, just add an API key. Open source — bring your own database, full control, MIT licensed. Both use the same Python SDK.
Which databases are supported?
SQLite, PostgreSQL, MySQL, Oracle, MongoDB, CockroachDB, and OceanBase. See the Database guides.
Which LLM providers work?
OpenAI, Anthropic, Google Gemini, xAI Grok, AWS Bedrock, LangChain, and Pydantic AI. All support sync, async, and streaming. See the LLM guides.
Do I need a Memori API key?
No. The open-source version works without one. An API key only unlocks higher Advanced Augmentation quotas (100 free without key, 5,000/month with a free key).
Do I need to manage infrastructure?
Yes — you run your own database. For the simplest setup, use SQLite (single file, no server). For production, PostgreSQL is recommended.
Does it support async?
Yes. All providers support async mode out of the box. Just use your provider's async client.
How does augmentation work?
It runs in the background after each conversation — extracts facts, preferences, and relationships with zero added latency to your LLM calls. See Advanced Augmentation.
Can I use multiple LLM providers?
Yes. Register multiple clients on the same Memori instance. Memories are shared across providers since they're linked to entities, not providers.
Is it free?
Yes. MIT license, free to use and modify. Your only costs are your own infrastructure and LLM API usage.
Can I migrate between hosted and open source?
Yes. Both use the same SDK — just swap conn=SessionLocal for api_key="...". Existing local memories don't auto-transfer though.
What is augmentation.wait()?
It blocks until background augmentation finishes. Only needed in short-lived scripts that might exit before processing completes.