Skip to main content

Persistent memory for OpenAI agents — store, recall, and forget.

Project description

🧠 AgentMemory

Persistent memory for your OpenAI agents — store, recall, and forget.

Python License OpenAI


The problem

Every OpenAI agent starts from zero. No memory of past conversations, preferences, decisions, or context. Every session is a blank slate.

AgentMemory solves this — giving your agent durable, queryable memory that persists across sessions.


Quickstart

Install dependencies:

pip install openai python-dotenv

Set your OpenAI API key:

# .env
OPENAI_API_KEY=your_key_here

Run your first memory session:

from agentmemory import AgentMemory

memory = AgentMemory(memory_path="agent_memory.json")

# Store memories from any text
memory.remember(
    "I am building a RAG application using Python and OpenAI. "
    "I prefer concise answers and clean code."
)

# Recall relevant memories
results = memory.recall("What is the user building?")
print(results)

Output:

Found 2 relevant memories:
  • [CONTEXT] User is building a RAG application using Python and OpenAI
  • [CONTEXT] User prefers concise answers and clean code

API Reference

memory = AgentMemory(
    memory_path="agent_memory.json",  # local storage file
    model="gpt-4o-mini",              # judge model
    max_memories=100,                 # max memories to store
)

memory.remember(text)        # extract and store memories from text
memory.recall(query, top_k)  # retrieve relevant memories
memory.forget(memory_id)     # delete a specific memory
memory.forget_all()          # clear all memories
memory.list_all()            # return all stored memories
memory.count                 # total number of memories

Memory categories

Category Description
fact Factual statements about the user or domain
preference User preferences and style choices
decision Decisions made during conversations
context Project or situational context

Streamlit demo

Run the interactive demo locally:

streamlit run app.py

Features:

  • Store memories from any text input
  • Search memories with semantic recall
  • View all stored memories in the sidebar
  • Delete individual memories or clear all

How it works

  1. remember(text) sends the text to GPT-4o-mini which extracts individual factual claims, preferences, decisions, and context.
  2. Each memory is stored as a structured object in a local JSON file.
  3. recall(query) sends the query and all stored memories to GPT-4o-mini which scores each memory for relevance.
  4. Memories are returned ranked by relevance score.

All storage is local — no cloud, no database, no infrastructure. Just a JSON file on your machine.


Cost

Each remember() call: ~$0.001

Each recall() call: ~$0.001

Both use GPT-4o-mini as the judge.


Roadmap

  • Vector embedding search for faster recall at scale
  • Memory expiry and TTL support
  • Memory categories and filtering
  • LangChain and LlamaIndex integration hooks
  • Multi-agent shared memory support

Project structure

agentmemory/
├── agentmemory/
│   ├── __init__.py       # public API
│   ├── memory.py         # AgentMemory core class
│   └── models.py         # Memory and MemorySearchResult dataclasses
├── app.py                # Streamlit demo
├── example.py            # quickstart example
├── requirements.txt
├── .env.example
└── README.md

License

MIT — free to use, modify, and distribute.


Contributing

Pull requests are welcome. Please open an issue first to discuss what you would like to change.


Built with OpenAI GPT-4o-mini as the memory extraction and recall judge.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentmemory_openai-0.1.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentmemory_openai-0.1.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file agentmemory_openai-0.1.0.tar.gz.

File metadata

  • Download URL: agentmemory_openai-0.1.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for agentmemory_openai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bed41c2f947019575eaa31c8443195c345f18a1a7b84f605d52f77ee70611c78
MD5 56ffdbf4914a6f168f672b63cef4edd5
BLAKE2b-256 1fd8c3a36c4cf529a3a9d0326331de8e0e4dec28efe07ea1cd341226481d1b4d

See more details on using hashes here.

File details

Details for the file agentmemory_openai-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agentmemory_openai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dece93747fc8101c1ca96c9b49236099d1a71f3dd9b1f7c6ba057d7df0d31a9f
MD5 d5916af05a63905f52f87764724db7ac
BLAKE2b-256 e28c5750b822ce1e6e58dafeb40a9851c3c92a84018e71bde6d8c8ecd307465a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page