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:

from mem0 import AsyncMemoryClient
client = AsyncMemoryClient(api_key="your-api-key")

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 for memories based on a query asynchronously.

await client.search(query="What is Alice's favorite sport?", user_id="alice")

Get All

Retrieve all memories for a user asynchronously.

await client.get_all(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.

await client.users()

Reset

Reset the client, deleting all users and memories asynchronously.

await client.reset()

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: