The AsyncMemoryClient is an asynchronous client for interacting with the Mem0 API. It provides similar functionality to the synchronous MemoryClient but allows for non-blocking operations, which can be beneficial in applications that require high concurrency.
Initialization
To use the async client, you first need to initialize it:
import os
from mem0 import AsyncMemoryClient
os.environ["MEM0_API_KEY"] = "your-api-key"
client = AsyncMemoryClient()
Methods
The AsyncMemoryClient provides the following methods:
Add
Add a new memory asynchronously.
messages = [
{"role": "user", "content": "Alice loves playing badminton"},
{"role": "assistant", "content": "That's great! Alice is a fitness freak"},
]
await client.add(messages, user_id="alice")
Search
Search for memories based on a query asynchronously.
await client.search("What is Alice's favorite sport?", user_id="alice")
Get All
Retrieve all memories for a user asynchronously.
get_all() now requires filters to be specified.
await client.get_all(filters={"AND": [{"user_id": "alice"}]})
Delete
Delete a specific memory asynchronously.
await client.delete(memory_id="memory-id-here")
Delete All
Delete all memories for a user asynchronously.
await client.delete_all(user_id="alice")
History
Get the history of a specific memory asynchronously.
await client.history(memory_id="memory-id-here")
Users
Get all users, agents, and runs which have memories associated with them asynchronously.
Reset
Reset the client, deleting all users and memories asynchronously.
Conclusion
The AsyncMemoryClient provides a powerful way to interact with the Mem0 API asynchronously, allowing for more efficient and responsive applications. By using this client, you can perform memory operations without blocking your application’s execution.
If you have any questions or need further assistance, please don’t hesitate to reach out: