Documentation
When we interact with people π£οΈπ, we naturally remember details from past interactions π, feelings ππ’, and shared experiences π€. That's what makes us human. We're bringing this same ability to AI, helping it recall just like us.
Give the github repo a starhug βοΈβitβs feeling a lilβ lonely π₯Ί
Features
-
Temporal Memory Recall: Enables AI to remember timestamped memories from past interactions, tracking updates to show how information evolves over time.
-
Multi-Tenancy: Designed to accommodate multiple organizations, agents, and users along their interactions and memories.
-
Flexible Name Handling: Uses placeholders for user and agent names in memories, allowing easy updates if names change later.
-
Scalability: Designed to scale to millions of users, interactions, memories etc. with strategic indexes and constraints for very fast search.
-
Developer-Friendly Design: Provides a modular architecture that allows you to adapt it to fit your specific needs with integration of new features etc.
Our Vision π
Currently, Memora manages text-based memories, assisting AI in maintaining context and evolving over time. However, our dream is way bigger towards the full spectrum of human memory, enabling AI to interact as naturally as a close friend. This will need:
-
Emotion-Tagged Memories: Allowing AI to recall memories along with the emotions experienced at that time, such as joy π, sadness π’, surprise π²...
-
Multi-modal Memories: As we move into an era where AI is ever-present (24/7), it should be capable of recalling video π₯ and audio π segments from interactions, akin to how humans replay past events as a mental film in our heads.
Join Us!
We're building Memora in the open, and we'd love your π«΅ help. No contribution is too small, even fixing typos βοΈ. Check out our CONTRIBUTING.md.
Let's give AI a human touch, together! π
Project Structure
memora/
βββ agent/ # The Orchestrator
βββ graph_db/ # Graph database implementation
βββ llm_backends/ # Backend LLM implementations for Memora
βββ prompts/ # Prompts for memory operations
βββ schema/ # Data models and schemas
βββ vector_db/ # Vector database implementation
Next Steps
- Getting Started - Set up and use Memora.
- Advanced Usage - Explore advanced use cases and custom implementations
- API Reference - Detailed API documentation