ReMe (Remember Me, Refine Me)

0.3.1.8 · active · verified Wed Apr 15

ReMe (Remember Me, Refine Me) is a Python library designed for managing and refining an AI agent's long-term memory. It provides functionalities for summarization, retrieval, and contextual awareness, enabling agents to learn and adapt over time. The library is actively maintained with frequent minor releases (multiple per month) to introduce new features, fix bugs, and refine existing memory mechanisms.

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to initialize ReMe, add experiences, and then retrieve and summarize them. Ensure you have an LLM API key (e.g., OPENAI_API_KEY) set as an environment variable, as summarization and retrieval functionalities depend on it. If the key is missing, LLM-dependent operations will fail.

import os
from reme import ReMe

# Ensure your OpenAI API key is set as an environment variable
# e.g., export OPENAI_API_KEY='sk-...'
openai_api_key = os.environ.get('OPENAI_API_KEY', '')
if not openai_api_key:
    print("WARNING: OPENAI_API_KEY is not set. ReMe operations requiring an LLM will fail.")

# Initialize ReMe with a unique agent ID. This creates a local memory store.
re_me = ReMe(agent_id="my_first_agent")

# Add experiences to the agent's memory
re_me.add_experience("I met a new colleague today named Sarah. She works on the frontend team.")
re_me.add_experience("Sarah is quite good at React and uses TypeScript.")
re_me.add_experience("She mentioned she loves to hike and explore national parks.")

# Retrieve relevant memories based on a query
query = "Tell me about Sarah."
retrieved_memories = re_me.retrieve(query)
print(f"\nRetrieved memories for '{query}':")
for mem in retrieved_memories:
    print(f"- {mem}")

# Summarize memories (requires LLM interaction)
try:
    summarized_memory = re_me.summarize_memories(
        query="What do I know about Sarah's work and hobbies?", 
        count=3
    )
    print(f"\nSummarized memory: {summarized_memory}")
except Exception as e:
    print(f"\nFailed to summarize memories (API key likely missing/invalid): {e}")

# To clear the agent's memory store (optional)
# re_me.clear_memory()

view raw JSON →