Skip to content

Skip to main content

Mem0 home pagelight logodark logo

Search...

Ctrl KAsk AI

Search...

Navigation

Integrations & Platforms

Bedrock with Persistent Memory

Welcome Mem0 Platform Open Source Cookbooks Integrations API Reference Release Notes

Getting Started
Essentials
Companion Playbooks
Ops & Automations
Integrations & Platforms
Frameworks & Multimodal

On this page

This example demonstrates how to configure and use the mem0ai SDK with AWS Bedrock, OpenSearch Service (AOSS), and AWS Neptune Analytics for persistent memory capabilities in Python.

Installation

Install the required dependencies to include the Amazon data stack, including boto3, opensearch-py, and langchain-aws:

pip install "mem0ai[graph,extras]"

Environment Setup

Set your AWS environment variables:

import os

# Set these in your environment or notebook
os.environ['AWS_REGION'] = 'us-west-2'
os.environ['AWS_ACCESS_KEY_ID'] = 'AK00000000000000000'
os.environ['AWS_SECRET_ACCESS_KEY'] = 'AS00000000000000000'

# Confirm they are set
print(os.environ['AWS_REGION'])
print(os.environ['AWS_ACCESS_KEY_ID'])
print(os.environ['AWS_SECRET_ACCESS_KEY'])

Configuration and Usage

This sets up Mem0 with:

import boto3
from opensearchpy import RequestsHttpConnection, AWSV4SignerAuth
from mem0.memory.main import Memory

region = 'us-west-2'
service = 'aoss'
credentials = boto3.Session().get_credentials()
auth = AWSV4SignerAuth(credentials, region, service)

config = {
    "embedder": {
        "provider": "aws_bedrock",
        "config": {
            "model": "amazon.titan-embed-text-v2:0"
        }
    },
    "llm": {
        "provider": "aws_bedrock",
        "config": {
            "model": "us.anthropic.claude-3-7-sonnet-20250219-v1:0",
            "temperature": 0.1,
            "max_tokens": 2000
        }
    },
    "vector_store": {
        "provider": "opensearch",
        "config": {
            "collection_name": "mem0",
            "host": "your-opensearch-domain.us-west-2.es.amazonaws.com",
            "port": 443,
            "http_auth": auth,
            "connection_class": RequestsHttpConnection,
            "pool_maxsize": 20,
            "use_ssl": True,
            "verify_certs": True,
            "embedding_model_dims": 1024,
        }
    },
    "graph_store": {
        "provider": "neptune",
        "config": {
            "endpoint": f"neptune-graph://my-graph-identifier",
        },
    },
}

# Initialize the memory system
m = Memory.from_config(config)

Usage

Reference Notebook example

Add a memory

messages = [\
    {"role": "user", "content": "I'm planning to watch a movie tonight. Any recommendations?"},\
    {"role": "assistant", "content": "How about thriller movies? They can be quite engaging."},\
    {"role": "user", "content": "I'm not a big fan of thriller movies but I love sci-fi movies."},\
    {"role": "assistant", "content": "Got it! I'll avoid thriller recommendations and suggest sci-fi movies in the future."}\
]

# Store inferred memories (default behavior)
result = m.add(messages, user_id="alice", metadata={"category": "movie_recommendations"})

Search a memory

relevant_memories = m.search(query, user_id="alice")

Get all memories

all_memories = m.get_all(user_id="alice")

Get a specific memory

memory = m.get(memory_id)

Conclusion

With Mem0 and AWS services like Bedrock, OpenSearch, and Neptune Analytics, you can build intelligent AI companions that remember, adapt, and personalize their responses over time. This makes them ideal for long-term assistants, tutors, or support bots with persistent memory and natural conversation abilities.


Neptune Analytics with Mem0 \ \ Explore graph-based memory storage with AWS Neptune Analytics.

Graph Memory Features \ \ Learn how to leverage knowledge graphs for entity relationships.

Was this page helpful?

YesNo

Suggest edits Raise issue

Healthcare Coach with ADK\ \ Previous Graph Memory on Neptune\ \ Next

Ctrl+I

Assistant

Responses are generated using AI and may contain mistakes.

Suggestions

How do I set up AWS credentials?What AWS services are used?How do I install dependencies?

Contact support

SOP Documentation Site for Mem0