Recollect
🌐 Live Demo · Interactive Showcase · LangChain · LlamaIndex
The showcase on this page is raw code.
For the real interactive presentation (add memories, hybrid search, chat simulation), go to the live site above.
Long-term memory layer for AI agents and assistants—self-hosted, library-first, and integration-ready for LangChain and LlamaIndex OSS workflows.
Why Recollect
- ADD-only facts from conversations (optional LLM extraction)
- Scoped memory —
user_id,agent_id,run_id - Hybrid retrieval — semantic + keyword + entity boost
- Pluggable stores — SQLite (default), Qdrant, Chroma, pgvector
- No platform required — embed in your app; open Apache 2.0
Install
git clone https://github.com/cobusgreyling/recollect.git
cd recollect
pip install -e ".[dev]"
pip install -e packages/llama-index-memory-recollect # LlamaIndex adapter
PyPI (package name recollect-ai, import recollect):
pip install recollect-ai
pip install llama-index-memory-recollect
Extras
| Extra | Purpose |
|---|---|
openai |
OpenAI LLM + embeddings |
langchain |
Tools + Runnable helpers |
llamaindex |
Core types for LlamaIndex apps |
qdrant / chroma / pgvector |
Vector backends |
huggingface |
HF sentence-transformers embedder |
all |
Everything |
5-minute local demo (no API keys)
pip install -e .
recollect demo
from recollect import Memory, RecollectConfig
memory = Memory(RecollectConfig.local_dev())
memory.add("Prefers PostgreSQL over MySQL", user_id="alice", infer=False)
print(memory.search("database", filters={"user_id": "alice"}))
LangChain
from recollect import Memory, RecollectConfig
from recollect.integrations.langchain import create_recollect_tools, memory_runnable
memory = Memory(RecollectConfig.local_dev())
tools = create_recollect_tools(memory, user_id="alice")
ctx = memory_runnable(memory, user_id="alice").invoke({"input": "database prefs"})
Examples: examples/langchain_travel_agent.py, examples/langgraph_memory_node.py
LlamaIndex
from llama_index.memory.recollect import RecollectMemory
from recollect.config import RecollectConfig
memory = RecollectMemory.from_config(
context={"user_id": "alice"},
config=RecollectConfig.local_dev(),
)
# SimpleChatEngine.from_defaults(llm=llm, memory=memory)
Package: packages/llama-index-memory-recollect
API
| Method | Purpose |
|---|---|
add(...) |
Extract/store memories |
search(query, filters={}, top_k=5) |
Hybrid retrieval |
get / get_all / delete |
CRUD |
AsyncMemory provides the same API with async/await.
Development
make install
make test
make demo
Roadmap
- LangChain tools + Runnable
- LlamaIndex
RecollectMemory - Async API, multi-backend stores
- LlamaHub listing + upstream LlamaIndex notebook PR
- LangGraph cookbook in docs site
🌐 Live Interactive Showcase (recommended)
The best way to experience Recollect is the fully interactive browser demo:
→ https://cobusgreyling.github.io/recollect/showcase.html
It includes:
- Live add memory form with full scoping (
user_id,agent_id,run_id) - Hybrid search lab that shows semantic + keyword + entity scores (mirrors the Python implementation)
- Chat simulation — retrieve memories, get a simulated reply, and write the exchange back
Everything runs 100% in your browser using the same local-embedder + hybrid retrieval logic as the library. Data stays in your localStorage.
(The links to docs/showcase.html and docs/index.html in this README point at the source code on GitHub, which is why it looks like “just code”. The real presentation is at the link above.)
Acknowledgments
Patterns draw on public agent-memory research and OSS work, including additive extraction and multi-signal retrieval popularized by Mem0. Recollect is an independent codebase.
License
Apache 2.0 — see LICENSE.
Metadata
Release files for recollect-ai 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| recollect_ai-0.2.1.tar.gz | 461.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| recollect_ai-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 487.4 kB
Release files / recollect_ai-0.2.1.tar.gz
| Download URL | recollect_ai-0.2.1.tar.gz |
|---|---|
| Size | 461.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f77728c3833db5e14b65104961f1d7be0f02df91ed1aa219dcbbc5506867206b
|
|
BLAKE2b-256 checksum How to use checksums |
f5509af609fb4e125799050d9f6a64790b9e43f206638cc23f70a108fba7f802
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / recollect_ai-0.2.1-py3-none-any.whl
| Download URL | recollect_ai-0.2.1-py3-none-any.whl |
|---|---|
| Size | 25.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f682f43c16ed7741d4e89f706d6acc93bf7d41c13bd3a08246904191a7fdd3d0
|
|
BLAKE2b-256 checksum How to use checksums |
e70546abc41df449d319da8541fa4a0c10fc7516425db4a52bad15f9252537c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|