Quick Start
Get Remina running in a few minutes.
Prerequisites
- Python 3.10+
- Redis server
- OpenAI API key (or alternative LLM provider)
Installation
pip install remina-memory[openai,sqlite,chroma,redis]Start Redis
# Docker
docker run -d -p 6379:6379 redis
# macOS (Homebrew)
brew services start redis
# Ubuntu
sudo apt install redis-server
sudo systemctl start redisSet API Key
export OPENAI_API_KEY="your-api-key"Basic Usage
from remina import Memory
# Initialize with defaults
memory = Memory()
# Add a memory from text
result = memory.add(
messages="My name is Alice and I work as a software engineer at Google.",
user_id="alice_123"
)
print(f"Extracted {len(result['results'])} memories:")
for mem in result['results']:
print(f" - {mem['memory']}")Output:
Extracted 2 memories:
- Name is Alice
- Works as a software engineer at GoogleSearch Memories
results = memory.search(
query="Where does Alice work?",
user_id="alice_123",
limit=5
)
for mem in results['results']:
print(f"[{mem['score']:.2f}] {mem['memory']}")Output:
[0.92] Works as a software engineer at Google
[0.45] Name is AliceConversation Input
memory.add(
messages=[
{"role": "user", "content": "I prefer dark mode in all my apps"},
{"role": "assistant", "content": "Noted."},
{"role": "user", "content": "I use VS Code as my main editor"}
],
user_id="alice_123"
)
results = memory.search(
query="What are Alice's preferences?",
user_id="alice_123"
)
for mem in results['results']:
print(f" - {mem['memory']}")Complete Example
from remina import Memory
def main():
memory = Memory()
user_id = "demo_user"
# Clear existing
memory.delete_all(user_id=user_id)
# Add memories
memory.add(
messages="I'm a Python developer who prefers FastAPI and PostgreSQL.",
user_id=user_id
)
memory.add(
messages=[
{"role": "user", "content": "I started learning Rust recently"},
{"role": "assistant", "content": "Rust is excellent for systems programming."},
{"role": "user", "content": "I want to build CLI tools with it"}
],
user_id=user_id
)
# Search
print("Query: What does the user want to build?")
results = memory.search(
query="What does the user want to build?",
user_id=user_id
)
for r in results['results']:
print(f" [{r['score']:.2f}] {r['memory']}")
# List all
print("\nAll memories:")
all_mems = memory.get_all(user_id=user_id)
for i, m in enumerate(all_mems['results'], 1):
print(f" {i}. {m['memory']}")
memory.close()
if __name__ == "__main__":
main()Next Steps
- Your First Memory — Detailed memory operations
- Configuration — Provider and settings customization
- Core Concepts — Architecture overview