From 91a5cc8f314ce642b0c7cde95bdad85bda43dd70 Mon Sep 17 00:00:00 2001 From: Andrew Carbonetto Date: Fri, 25 Jul 2025 11:17:50 -0700 Subject: [PATCH 1/5] Add neptune example notebook and documenation (#5) Signed-off-by: Andrew Carbonetto --- docs/examples/aws_example.mdx | 36 +- docs/open-source/graph_memory/overview.mdx | 8 +- examples/graph-db-demo/neptune-example.ipynb | 431 +++++-------------- 3 files changed, 133 insertions(+), 342 deletions(-) diff --git a/docs/examples/aws_example.mdx b/docs/examples/aws_example.mdx index a9a5047378..352e538a9e 100644 --- a/docs/examples/aws_example.mdx +++ b/docs/examples/aws_example.mdx @@ -1,17 +1,17 @@ --- -title: AWS Bedrock and AOSS +title: Amazon Stack: AWS Bedrock, AOSS, and Neptune Analytics --- -This example demonstrates how to configure and use the `mem0ai` SDK with **AWS Bedrock** and **OpenSearch Service (AOSS)** for persistent memory capabilities in Python. +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: +Install the required dependencies to include the Amazon data stack, including **boto3**, **opensearch-py**, and **langchain-aws**: ```bash -pip install mem0ai boto3 opensearch-py +pip install "mem0ai[graph,extras]" ``` ## Environment Setup @@ -34,11 +34,15 @@ print(os.environ['AWS_SECRET_ACCESS_KEY']) ## Configuration and Usage -This sets up Mem0 with AWS Bedrock for embeddings and LLM, and OpenSearch as the vector store. +This sets up Mem0 with: +- [AWS Bedrock for LLM](https://docs.mem0.ai/components/llms/models/aws_bedrock) +- [AWS Bedrock for embeddings](https://docs.mem0.ai/components/embedders/models/aws_bedrock#aws-bedrock) +- [OpenSearch as the vector store](https://docs.mem0.ai/components/vectordbs/dbs/opensearch) +- [Neptune Analytics as your graph store](https://docs.mem0.ai/open-source/graph_memory/overview#initialize-neptune-analytics). ```python import boto3 -from opensearchpy import OpenSearch, RequestsHttpConnection, AWSV4SignerAuth +from opensearchpy import RequestsHttpConnection, AWSV4SignerAuth from mem0.memory.main import Memory region = 'us-west-2' @@ -56,7 +60,7 @@ config = { "llm": { "provider": "aws_bedrock", "config": { - "model": "anthropic.claude-3-5-haiku-20241022-v1:0", + "model": "us.anthropic.claude-3-7-sonnet-20250219-v1:0", "temperature": 0.1, "max_tokens": 2000 } @@ -68,21 +72,29 @@ config = { "host": "your-opensearch-domain.us-west-2.es.amazonaws.com", "port": 443, "http_auth": auth, - "embedding_model_dims": 1024, "connection_class": RequestsHttpConnection, "pool_maxsize": 20, "use_ssl": True, - "verify_certs": True + "verify_certs": True, + "embedding_model_dims": 1536, } - } + }, + "graph_store": { + "provider": "neptune", + "config": { + "endpoint": f"neptune-graph://my-graph-identifier", + }, + }, } -# Initialize memory system +# Initialize the memory system m = Memory.from_config(config) ``` ## Usage +Reference [Notebook example](https://github.com/mem0ai/mem0/blob/main/examples/graph-db-demo/neptune-example.ipynb) + #### Add a memory: ```python @@ -117,4 +129,4 @@ memory = m.get(memory_id) ## Conclusion -With Mem0 and AWS services like Bedrock and OpenSearch, 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. +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. diff --git a/docs/open-source/graph_memory/overview.mdx b/docs/open-source/graph_memory/overview.mdx index 3e253bb2e4..0ee7383435 100644 --- a/docs/open-source/graph_memory/overview.mdx +++ b/docs/open-source/graph_memory/overview.mdx @@ -236,6 +236,8 @@ m = Memory.from_config(config_dict=config) Mem0 now supports Amazon Neptune Analytics as a graph store provider. This integration allows you to use Neptune Analytics for storing and querying graph-based memories. +You can use Neptune Analytics as part of an Amazon tech stack [Setup AWS Bedrock, AOSS, and Neptune](https://docs.mem0.ai/examples/aws_example#aws-bedrock-and-aoss) + #### Instance Setup Create an Amazon Neptune Analytics instance in your AWS account following the [AWS documentation](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/get-started.html). @@ -266,12 +268,8 @@ The Neptune memory store uses AWS LangChain Python API to connect to Neptune ins ```python Python from mem0 import Memory -# This example must connect to a neptune-graph instance with 1536 vector dimensions specified. +# This example must connect to a neptune-graph instance with `1024` vector dimensions specified. config = { - "embedder": { - "provider": "openai", - "config": {"model": "text-embedding-3-large", "embedding_dims": 1536}, - }, "graph_store": { "provider": "neptune", "config": { diff --git a/examples/graph-db-demo/neptune-example.ipynb b/examples/graph-db-demo/neptune-example.ipynb index 7cf1181b6a..471c111d5a 100644 --- a/examples/graph-db-demo/neptune-example.ipynb +++ b/examples/graph-db-demo/neptune-example.ipynb @@ -21,58 +21,59 @@ "\n", "### 1. Install Mem0 with Graph Memory support \n", "\n", - "To use Mem0 with Graph Memory support, install it using pip:\n", + "To use Mem0 with Graph Memory support (as well as other Amazon services), use pip install:\n", "\n", "```bash\n", - "pip install \"mem0ai[graph]\"\n", + "pip install \"mem0ai[graph,extras]\"\n", "```\n", "\n", - "This command installs Mem0 along with the necessary dependencies for graph functionality.\n", + "This command installs Mem0 along with the necessary dependencies for graph functionality (`graph`) and other Amazon dependencies (`extras`).\n", "\n", - "### 2. Connect to Neptune\n", + "### 2. Connect to Amazon services\n", "\n", - "To connect to Amazon Neptune Analytics, you need to configure Neptune with your Amazon profile credentials. The best way to do this is to declare environment variables with IAM permission to your Neptune Analytics instance. The `graph-identifier` for the instance to persist memories needs to be defined in the Mem0 configuration under `\"graph_store\"`, with the `\"neptune\"` provider. Note that the Neptune Analytics instance needs to have `vector-search-configuration` defined to meet the needs of the llm model's vector dimensions, see: https://docs.aws.amazon.com/neptune-analytics/latest/userguide/vector-index.html.\n", + "For this sample notebook, configure `mem0ai` with [Amazon Neptune Analytics](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/what-is-neptune-analytics.html) as the graph store, [Amazon OpenSearch Serverless](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-overview.html) as the vector store, and [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html) for generating embeddings.\n", + "\n", + "Use the following guide for setup details: [Setup AWS Bedrock, AOSS, and Neptune](https://docs.mem0.ai/examples/aws_example#aws-bedrock-and-aoss)\n", + "\n", + "Your configuration should look similar to:\n", "\n", "```python\n", - "embedding_dimensions = 1536\n", - "graph_identifier = \"\" # graph with 1536 dimensions for vector search\n", "config = {\n", " \"embedder\": {\n", - " \"provider\": \"openai\",\n", + " \"provider\": \"aws_bedrock\",\n", " \"config\": {\n", - " \"model\": \"text-embedding-3-large\",\n", - " \"embedding_dims\": embedding_dimensions\n", - " },\n", + " \"model\": \"amazon.titan-embed-text-v2:0\"\n", + " }\n", + " },\n", + " \"llm\": {\n", + " \"provider\": \"aws_bedrock\",\n", + " \"config\": {\n", + " \"model\": \"us.anthropic.claude-3-7-sonnet-20250219-v1:0\",\n", + " \"temperature\": 0.1,\n", + " \"max_tokens\": 2000\n", + " }\n", + " },\n", + " \"vector_store\": {\n", + " \"provider\": \"opensearch\",\n", + " \"config\": {\n", + " \"collection_name\": \"mem0\",\n", + " \"host\": \"your-opensearch-domain.us-west-2.es.amazonaws.com\",\n", + " \"port\": 443,\n", + " \"http_auth\": auth,\n", + " \"connection_class\": RequestsHttpConnection,\n", + " \"pool_maxsize\": 20,\n", + " \"use_ssl\": True,\n", + " \"verify_certs\": True,\n", + " \"embedding_model_dims\": 1536,\n", + " }\n", " },\n", " \"graph_store\": {\n", " \"provider\": \"neptune\",\n", " \"config\": {\n", - " \"endpoint\": f\"neptune-graph://{graph_identifier}\",\n", + " \"endpoint\": f\"neptune-graph://my-graph-identifier\",\n", " },\n", " },\n", "}\n", - "```\n", - "\n", - "### 3. Configure OpenSearch\n", - "\n", - "We're going to use OpenSearch as our vector store. You can run [OpenSearch from docker image](https://docs.opensearch.org/docs/latest/install-and-configure/install-opensearch/docker/):\n", - "\n", - "```bash\n", - "docker pull opensearchproject/opensearch:2\n", - "```\n", - "\n", - "And verify that it's running with a ``:\n", - "\n", - "```bash\n", - " docker run -d -p 9200:9200 -p 9600:9600 -e \"discovery.type=single-node\" -e \"OPENSEARCH_INITIAL_ADMIN_PASSWORD=\" opensearchproject/opensearch:latest\n", - "\n", - " curl https://localhost:9200 -ku admin:\n", - "```\n", - "\n", - "We're going to connect [OpenSearch using the python client](https://github.com/opensearch-project/opensearch-py):\n", - "\n", - "```bash\n", - "pip install \"opensearch-py\"\n", "```" ] }, @@ -80,24 +81,24 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Configuration\n", + "## Setup\n", "\n", - "Do all the imports and configure OpenAI (enter your OpenAI API key):" + "Import all packages and setup logging" ] }, { "cell_type": "code", - "metadata": { - "ExecuteTime": { - "end_time": "2025-07-03T20:52:48.330121Z", - "start_time": "2025-07-03T20:52:47.092369Z" - } - }, + "metadata": {}, "source": [ "from mem0 import Memory\n", "import os\n", "import logging\n", "import sys\n", + "import boto3\n", + "from opensearchpy import OpenSearch, RequestsHttpConnection, AWSV4SignerAuth\n", + "from dotenv import load_dotenv\n", + "\n", + "load_dotenv()\n", "\n", "logging.getLogger(\"mem0.graphs.neptune.main\").setLevel(logging.DEBUG)\n", "logging.getLogger(\"mem0.graphs.neptune.base\").setLevel(logging.DEBUG)\n", @@ -111,57 +112,73 @@ ")" ], "outputs": [], - "execution_count": 1 + "execution_count": null }, { "cell_type": "markdown", "metadata": {}, "source": [ "Setup the Mem0 configuration using:\n", - "- openai as the embedder\n", + "- Amazon Bedrock as the embedder\n", "- Amazon Neptune Analytics instance as a graph store\n", "- OpenSearch as the vector store" ] }, { "cell_type": "code", - "metadata": { - "ExecuteTime": { - "end_time": "2025-07-03T20:52:50.958741Z", - "start_time": "2025-07-03T20:52:50.955127Z" - } - }, + "metadata": {}, "source": [ + "bedrock_embedder_model = \"amazon.titan-embed-text-v2:0\"\n", + "bedrock_llm_model = \"us.anthropic.claude-3-7-sonnet-20250219-v1:0\"\n", + "embedding_model_dims = 1024\n", + "\n", "graph_identifier = os.environ.get(\"GRAPH_ID\")\n", - "opensearch_username = os.environ.get(\"OS_USERNAME\")\n", - "opensearch_password = os.environ.get(\"OS_PASSWORD\")\n", + "\n", + "opensearch_host = os.environ.get(\"OS_HOST\")\n", + "opensearch_post = os.environ.get(\"OS_PORT\")\n", + "\n", + "credentials = boto3.Session().get_credentials()\n", + "region = os.environ.get(\"AWS_REGION\")\n", + "auth = AWSV4SignerAuth(credentials, region)\n", + "\n", "config = {\n", " \"embedder\": {\n", - " \"provider\": \"openai\",\n", - " \"config\": {\"model\": \"text-embedding-3-large\", \"embedding_dims\": 1536},\n", + " \"provider\": \"aws_bedrock\",\n", + " \"config\": {\n", + " \"model\": bedrock_embedder_model,\n", + " }\n", " },\n", - " \"graph_store\": {\n", - " \"provider\": \"neptune\",\n", + " \"llm\": {\n", + " \"provider\": \"aws_bedrock\",\n", " \"config\": {\n", - " \"endpoint\": f\"neptune-graph://{graph_identifier}\",\n", - " },\n", + " \"model\": bedrock_llm_model,\n", + " \"temperature\": 0.1,\n", + " \"max_tokens\": 2000\n", + " }\n", " },\n", " \"vector_store\": {\n", " \"provider\": \"opensearch\",\n", " \"config\": {\n", - " \"collection_name\": \"vector_store\",\n", - " \"host\": \"localhost\",\n", - " \"port\": 9200,\n", - " \"user\": opensearch_username,\n", - " \"password\": opensearch_password,\n", - " \"use_ssl\": False,\n", - " \"verify_certs\": False,\n", + " \"collection_name\": \"mem0ai_vector_store\",\n", + " \"host\": opensearch_host,\n", + " \"port\": opensearch_post,\n", + " \"http_auth\": auth,\n", + " \"embedding_model_dims\": embedding_model_dims,\n", + " \"use_ssl\": True,\n", + " \"verify_certs\": True,\n", + " \"connection_class\": RequestsHttpConnection,\n", + " },\n", + " },\n", + " \"graph_store\": {\n", + " \"provider\": \"neptune\",\n", + " \"config\": {\n", + " \"endpoint\": f\"neptune-graph://{graph_identifier}\",\n", " },\n", " },\n", "}" ], "outputs": [], - "execution_count": 2 + "execution_count": null }, { "cell_type": "markdown", @@ -174,12 +191,7 @@ }, { "cell_type": "code", - "metadata": { - "ExecuteTime": { - "end_time": "2025-07-03T20:52:55.655673Z", - "start_time": "2025-07-03T20:52:54.141041Z" - } - }, + "metadata": {}, "source": [ "m = Memory.from_config(config_dict=config)\n", "\n", @@ -188,31 +200,8 @@ "\n", "m.delete_all(user_id=user_id)" ], - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING - Creating index vector_store, it might take 1-2 minutes...\n", - "WARNING - Creating index mem0migrations, it might take 1-2 minutes...\n", - "DEBUG - delete_all query=\n", - " MATCH (n {user_id: $user_id})\n", - " DETACH DELETE n\n", - " \n" - ] - }, - { - "data": { - "text/plain": [ - "{'message': 'Memories deleted successfully!'}" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "execution_count": 3 + "outputs": [], + "execution_count": null }, { "cell_type": "markdown", @@ -225,12 +214,7 @@ }, { "cell_type": "code", - "metadata": { - "ExecuteTime": { - "end_time": "2025-07-03T20:53:05.338249Z", - "start_time": "2025-07-03T20:52:57.528210Z" - } - }, + "metadata": {}, "source": [ "messages = [\n", " {\n", @@ -249,120 +233,12 @@ "for e in all_results[\"relations\"]:\n", " print(f\"edge \\\"{e['source']}\\\" --{e['relationship']}--> \\\"{e['target']}\\\"\")" ], - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DEBUG - Extracted entities: [{'source': 'alice', 'relationship': 'plans_to_watch', 'destination': 'movie'}]\n", - "DEBUG - _search_graph_db\n", - " query=\n", - " MATCH (n )\n", - " WHERE n.user_id = $user_id\n", - " WITH n, $n_embedding as n_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " n_embedding,\n", - " n,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH n, distance as similarity\n", - " WHERE similarity >= $threshold\n", - " CALL {\n", - " WITH n\n", - " MATCH (n)-[r]->(m) \n", - " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", - " UNION ALL\n", - " WITH n\n", - " MATCH (m)-[r]->(n) \n", - " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", - " }\n", - " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " ORDER BY similarity DESC\n", - " LIMIT $limit\n", - " \n", - "DEBUG - Deleted relationships: []\n", - "DEBUG - _search_source_node\n", - " query=\n", - " MATCH (source_candidate )\n", - " WHERE source_candidate.user_id = $user_id \n", - "\n", - " WITH source_candidate, $source_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " source_candidate,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH source_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH source_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - "\n", - " RETURN id(source_candidate), cosine_similarity\n", - " \n", - "DEBUG - _search_destination_node\n", - " query=\n", - " MATCH (destination_candidate )\n", - " WHERE destination_candidate.user_id = $user_id\n", - " \n", - " WITH destination_candidate, $destination_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " destination_candidate, \n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH destination_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH destination_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - " \n", - " RETURN id(destination_candidate), cosine_similarity\n", - " \n", - "DEBUG - _add_entities:\n", - " destination_node_search_result=[]\n", - " source_node_search_result=[]\n", - " query=\n", - " MERGE (n :`__User__` {name: $source_name, user_id: $user_id})\n", - " ON CREATE SET n.created = timestamp(),\n", - " n.mentions = 1\n", - " \n", - " ON MATCH SET n.mentions = coalesce(n.mentions, 0) + 1\n", - " WITH n, $source_embedding as source_embedding\n", - " CALL neptune.algo.vectors.upsert(n, source_embedding)\n", - " WITH n\n", - " MERGE (m :`entertainment` {name: $dest_name, user_id: $user_id})\n", - " ON CREATE SET m.created = timestamp(),\n", - " m.mentions = 1\n", - " \n", - " ON MATCH SET m.mentions = coalesce(m.mentions, 0) + 1\n", - " WITH n, m, $dest_embedding as dest_embedding\n", - " CALL neptune.algo.vectors.upsert(m, dest_embedding)\n", - " WITH n, m\n", - " MERGE (n)-[rel:plans_to_watch]->(m)\n", - " ON CREATE SET rel.created = timestamp(), rel.mentions = 1\n", - " ON MATCH SET rel.mentions = coalesce(rel.mentions, 0) + 1\n", - " RETURN n.name AS source, type(rel) AS relationship, m.name AS target\n", - " \n", - "DEBUG - Retrieved 1 relationships\n", - "node \"Planning to watch a movie tonight\": [hash: bf55418607cfdca4afa311b5fd8496bd]\n", - "edge \"alice\" --plans_to_watch--> \"movie\"\n" - ] - } - ], - "execution_count": 4 + "outputs": [], + "execution_count": null }, { "cell_type": "code", - "metadata": { - "ExecuteTime": { - "end_time": "2025-07-03T20:53:17.755933Z", - "start_time": "2025-07-03T20:53:11.568772Z" - } - }, + "metadata": {}, "source": [ "messages = [\n", " {\n", @@ -381,118 +257,12 @@ "for e in all_results[\"relations\"]:\n", " print(f\"edge \\\"{e['source']}\\\" --{e['relationship']}--> \\\"{e['target']}\\\"\")" ], - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DEBUG - Extracted entities: [{'source': 'thriller_movies', 'relationship': 'is_engaging', 'destination': 'thriller_movies'}]\n", - "DEBUG - _search_graph_db\n", - " query=\n", - " MATCH (n )\n", - " WHERE n.user_id = $user_id\n", - " WITH n, $n_embedding as n_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " n_embedding,\n", - " n,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH n, distance as similarity\n", - " WHERE similarity >= $threshold\n", - " CALL {\n", - " WITH n\n", - " MATCH (n)-[r]->(m) \n", - " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", - " UNION ALL\n", - " WITH n\n", - " MATCH (m)-[r]->(n) \n", - " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", - " }\n", - " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " ORDER BY similarity DESC\n", - " LIMIT $limit\n", - " \n", - "DEBUG - Deleted relationships: []\n", - "DEBUG - _search_source_node\n", - " query=\n", - " MATCH (source_candidate )\n", - " WHERE source_candidate.user_id = $user_id \n", - "\n", - " WITH source_candidate, $source_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " source_candidate,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH source_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH source_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - "\n", - " RETURN id(source_candidate), cosine_similarity\n", - " \n", - "DEBUG - _search_destination_node\n", - " query=\n", - " MATCH (destination_candidate )\n", - " WHERE destination_candidate.user_id = $user_id\n", - " \n", - " WITH destination_candidate, $destination_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " destination_candidate, \n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH destination_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH destination_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - " \n", - " RETURN id(destination_candidate), cosine_similarity\n", - " \n", - "DEBUG - _add_entities:\n", - " destination_node_search_result=[{'id(destination_candidate)': '67c49d52-e305-47fe-9fce-2cd5adc5d83c0', 'cosine_similarity': 0.999999}]\n", - " source_node_search_result=[{'id(source_candidate)': '67c49d52-e305-47fe-9fce-2cd5adc5d83c0', 'cosine_similarity': 0.999999}]\n", - " query=\n", - " MATCH (source)\n", - " WHERE id(source) = $source_id\n", - " SET source.mentions = coalesce(source.mentions, 0) + 1\n", - " WITH source\n", - " MATCH (destination)\n", - " WHERE id(destination) = $destination_id\n", - " SET destination.mentions = coalesce(destination.mentions) + 1\n", - " MERGE (source)-[r:is_engaging]->(destination)\n", - " ON CREATE SET \n", - " r.created_at = timestamp(),\n", - " r.updated_at = timestamp(),\n", - " r.mentions = 1\n", - " ON MATCH SET r.mentions = coalesce(r.mentions, 0) + 1\n", - " RETURN source.name AS source, type(r) AS relationship, destination.name AS target\n", - " \n", - "DEBUG - Retrieved 3 relationships\n", - "node \"Planning to watch a movie tonight\": [hash: bf55418607cfdca4afa311b5fd8496bd]\n", - "edge \"thriller_movies\" --is_a_type_of--> \"movie\"\n", - "edge \"alice\" --plans_to_watch--> \"movie\"\n", - "edge \"thriller_movies\" --is_engaging--> \"thriller_movies\"\n" - ] - } - ], - "execution_count": 6 + "outputs": [], + "execution_count": null }, { "cell_type": "code", - "metadata": { - "jupyter": { - "is_executing": true - }, - "ExecuteTime": { - "start_time": "2025-07-03T20:53:17.775656Z" - } - }, + "metadata": {}, "source": [ "messages = [\n", " {\n", @@ -542,7 +312,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Search memories" + "## Search memories\n", + "\n", + "Search all memories for \"what does alice love?\". Since \"alice\" the user, this will search for a relationship that fits the users love of \"sci-fi\" movies and dislike of \"thriller\" movies." ] }, { @@ -562,11 +334,20 @@ "cell_type": "code", "metadata": {}, "source": [ - "m.delete_all(\"user_id\")\n", + "m.delete_all(user_id)\n", "m.reset()" ], "outputs": [], "execution_count": null + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "## Conclusion\n", + "\n", + "In this example we demonstrated how an AWS tech stack can be used to store and retrieve memory context. Bedrock LLM models can be used to interpret given conversations. OpenSearch can store text chunks with vector embeddings. Neptune Analytics can store the text chunks in a graph format with relationship entities." + ] } ], "metadata": { From 7c07df934a6d04177b6c022189074669d0656657 Mon Sep 17 00:00:00 2001 From: Andrew Carbonetto Date: Tue, 5 Aug 2025 14:01:53 -0700 Subject: [PATCH 2/5] Update embedder dimensions Signed-off-by: Andrew Carbonetto --- docs/open-source/graph_memory/overview.mdx | 2 +- examples/graph-db-demo/neptune-example.ipynb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/open-source/graph_memory/overview.mdx b/docs/open-source/graph_memory/overview.mdx index 0ee7383435..2c78e27fb2 100644 --- a/docs/open-source/graph_memory/overview.mdx +++ b/docs/open-source/graph_memory/overview.mdx @@ -268,7 +268,7 @@ The Neptune memory store uses AWS LangChain Python API to connect to Neptune ins ```python Python from mem0 import Memory -# This example must connect to a neptune-graph instance with `1024` vector dimensions specified. +# Provided neptune-graph instance must have the same vector dimensions as the embedder provider. config = { "graph_store": { "provider": "neptune", diff --git a/examples/graph-db-demo/neptune-example.ipynb b/examples/graph-db-demo/neptune-example.ipynb index 471c111d5a..c7be021380 100644 --- a/examples/graph-db-demo/neptune-example.ipynb +++ b/examples/graph-db-demo/neptune-example.ipynb @@ -130,7 +130,7 @@ "source": [ "bedrock_embedder_model = \"amazon.titan-embed-text-v2:0\"\n", "bedrock_llm_model = \"us.anthropic.claude-3-7-sonnet-20250219-v1:0\"\n", - "embedding_model_dims = 1024\n", + "embedding_model_dims = 1536\n", "\n", "graph_identifier = os.environ.get(\"GRAPH_ID\")\n", "\n", From 998e256222094a777a9df934f346f3ef2cd07836 Mon Sep 17 00:00:00 2001 From: Andrew Carbonetto Date: Tue, 5 Aug 2025 15:17:40 -0700 Subject: [PATCH 3/5] Use 1024 dims Signed-off-by: Andrew Carbonetto --- examples/graph-db-demo/neptune-example.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/graph-db-demo/neptune-example.ipynb b/examples/graph-db-demo/neptune-example.ipynb index c7be021380..0c0226e3e3 100644 --- a/examples/graph-db-demo/neptune-example.ipynb +++ b/examples/graph-db-demo/neptune-example.ipynb @@ -64,7 +64,7 @@ " \"pool_maxsize\": 20,\n", " \"use_ssl\": True,\n", " \"verify_certs\": True,\n", - " \"embedding_model_dims\": 1536,\n", + " \"embedding_model_dims\": 1024,\n", " }\n", " },\n", " \"graph_store\": {\n", @@ -130,7 +130,7 @@ "source": [ "bedrock_embedder_model = \"amazon.titan-embed-text-v2:0\"\n", "bedrock_llm_model = \"us.anthropic.claude-3-7-sonnet-20250219-v1:0\"\n", - "embedding_model_dims = 1536\n", + "embedding_model_dims = 1024\n", "\n", "graph_identifier = os.environ.get(\"GRAPH_ID\")\n", "\n", From 56fe65ecccb661af3d29cf975f09d5db90704ee2 Mon Sep 17 00:00:00 2001 From: Andrew Carbonetto Date: Thu, 7 Aug 2025 10:07:46 -0700 Subject: [PATCH 4/5] Add visualization using graph-explorer to neptune example Signed-off-by: Andrew Carbonetto --- docs/examples/aws_example.mdx | 2 +- .../neptune-example-visualization-1.png | Bin 0 -> 38294 bytes .../neptune-example-visualization-2.png | Bin 0 -> 143435 bytes .../neptune-example-visualization-3.png | Bin 0 -> 141690 bytes .../neptune-example-visualization-4.png | Bin 0 -> 214290 bytes examples/graph-db-demo/neptune-example.ipynb | 1105 ++++++++++++++++- 6 files changed, 1084 insertions(+), 23 deletions(-) create mode 100644 examples/graph-db-demo/neptune-example-visualization-1.png create mode 100644 examples/graph-db-demo/neptune-example-visualization-2.png create mode 100644 examples/graph-db-demo/neptune-example-visualization-3.png create mode 100644 examples/graph-db-demo/neptune-example-visualization-4.png diff --git a/docs/examples/aws_example.mdx b/docs/examples/aws_example.mdx index 352e538a9e..57c45ab4c8 100644 --- a/docs/examples/aws_example.mdx +++ b/docs/examples/aws_example.mdx @@ -76,7 +76,7 @@ config = { "pool_maxsize": 20, "use_ssl": True, "verify_certs": True, - "embedding_model_dims": 1536, + "embedding_model_dims": 1024, } }, "graph_store": { diff --git a/examples/graph-db-demo/neptune-example-visualization-1.png b/examples/graph-db-demo/neptune-example-visualization-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5ebd238009b21d5585ccc758d32f242b3b5984c6 GIT binary patch literal 38294 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ޥTwKJ+9RH1^2To&73%hud+(lRi>BYq4$y#%1TH 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≪3VU5cVLyVP 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 Au>b%7 literal 0 HcmV?d00001 diff --git a/examples/graph-db-demo/neptune-example-visualization-3.png b/examples/graph-db-demo/neptune-example-visualization-3.png new file mode 100644 index 0000000000000000000000000000000000000000..c22eecf0dca579b57ec48200ea3835729c7e4125 GIT binary patch literal 141690 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ξ#51+SaiS^kg9TqPEHJZodW|} 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

4C}&xQP# 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

x<4rRvnFdwulSo*ws$`Q?IO=2AqF&ug;qH#>GU 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¥L}qr2UwvArRfh(BWAy&#k9>r!W z!}~k^qx(gbMIseLg1Kue9DFsXa%;VJ#)nobEE-g7trmL7kLT!tmgx%vMo+o@uKc`E zYwRD%zLk}daN5_gj?rN2752_P^=fTW$!5uffXz6mXKfypbBAMSZZ%y+!Kd33M01)0 z)aQuG?BjMCdKlbnA8GW14n19{-tPdIsCU#J($X?9QiF%;CNl zcSESa0sCFV`dZt3|Uv(W+Kdb^>!!}P61yPY1MOWzE zYVhrX5T*VB%Rta@c@1t-?48iy>;Wr1fv_|7fe|NJG_FNFjq)mHO|t;#|Lk&WQ0H~m z;+A;XB9A1#HMy>IU+i%G=u>$V5*N`zpEur~P}?kW;1rPES=11;c&Ti5*KQS!%4?ZI zELuoayy5E-cJG~EtCE+O537)W2d?;j8=DW6L;9{az7%^tPvvnxuP!0ARztPpq;K(7 zvITX+nKR?&^ghG3=MOZukGetf;Yy&Q=^Q2U`6k#))@fN;PqRsDp#WXmKkTRvmt4q8 zDiM!$*<;Q#N$_c2u&MGmpIyv}F%Z_n;Du#!OOi7)d?42>p$ut5zN|IMJs@w{hFXcD zH0xAh{^cY+kfV*U2bYZA+p2+HYXw*G+(F=JcQ5!Gz&| z$#*v!Evkzt$X^bgsAZkYD7pc`DH3-B9o#l>HHVk}J=>8i&6{Qgw*o&vnr}4qnd0Cj zIen;CY+4)-5!XsgSxw%48|8 z2=W`aB6a%t!b*wl%w7R^|4Ve+*moc(-v1g}wEh~QyEm=C4---GYa{F8pOwvIcCkx0 zKoWu7pdc=kBq^nrX{cgtXHv3ZEzRi$HnMvdv-|HL?(kPyf~b7}~`5G;V7h{`f0otHXQm`{|z>wlKdF z;MAhU(nIl&>FqWMn2)IF(b}V;p*JlB2sgM7xC{kdSyMd9A`u}-!{2}loClQ7Y^zl) zJs$xs0S*k&;Vx}5&rgX%t3Plt4c%GW=|S8hmYS&L;Ox$>&T1Ad1l$unq@MdUYtl~$ zps8}FFzMBZn?hes@Y?TXvKC@-h#Gy?1t-{APU|dT^YUkivi0<@M;UU=Wj)AJJTpaK zJ-FREQPBVr)ej4)NP>JLi2tH=Xy`OBXJB@|ew3h{qqUQKWh%nN-(!8L0(5I;54ixh zL|PhEI2j}E{s+vo?Y1m#EeY*A;ikI*y>yQZ90zn?{A)6OmXm%LKggQs2N)Agab<=AHgJWOR&xSva@~dm?^T&EWG1tO*Xea4OX0x8QpJNhIb8-k9t?1Du zd?-wjpf<=YIJdq(U%CsuU!7i$Xd;>Lz}qU?LB1$99P0MW^=v-oRm9;M-jtMLN;5Y1wx+OFMPbn{hrP zlb!1kNYfxg!3aS!;rhn%)d@c*t)6a}&@v||NF*_Jl~z%@jKpt7Di^i{ie%Y-za;H( zHsf7QTzMe9)hCP6&Nm?u;tu@1Ai6)wt^zS%(d;BZugpsXg`P*KyH%1!8*b|>SF;w_ zf$^VIQ8~&R{|&%%oj9eOkK7!M8XD79p{T+63DU%LSDQ;TL|u@PGP0!C!KOPdXf!K81a6x(4QSG$3_)xR)II7Ip^daoE%IDT7OijWBRDn= z)8Nwn7R6(j!Y+OI%2UVCGErv9c92-9%M#LsgWFt_5Yr=+v`uckiud&WH2;s=-k6}ul7RbB6I(3r(CaY=L zAF}`qg>8JV7!1NS`ZWWW5A&d#9zf9LCR*Li$*mJTXSP#rKX&v(wQxNK%4esN1RvxF zWqrH4yJ5pa!gsA74yo#f)z{y8H}$9XS$$6xecg^nXYIp5*kNI|R?CvBE1s8^uhKu? z!tobEO-C9_TB(1~=F=J4WZ-Q?;h%2FA!R^3)W>M3`nZQ?0yk=ja?3l25_?;N(m>Ez zA+Q+3DUNsZ6eM=0v#_rnWR&fU`9G0Qff`+S(360K8 zD5Eoe0%}Nr)b7osP0^yG<|&=TLK$xt37@g=udRlNI1n=sqhks|jAhQB3|Na6GnAUiLCl4wa+=ES;kh6x-mvS&(9B3Q$26i7C z@)~qy{gbFb9(_@pZ*yKdJJ`t*YnqKKVnEW$+>1zkuBD;4;7oJZf|JUoTgjcSIR+oB z){^-fu9;fsBN&-{71|tJE%)Z-pU)ftg^e(kxlMn60ua}JCQ!mCKH4-Bq`BWcJl7&wUtXQi`q6$*5+9mGp^3d%KgB(Vq{RcBml#y%=q<) z{UpEboels};QhxHdK?HebN|M&bl^ah2#7qBX(3DTgB;Bl^T2Wfe}oEdl`r(~IKc~& ztso4`$?6H~$mlk?bB8*!JhwW@NX-RjfEOiGM`mJvRu)d(0F>T2UkDv2H}H`;I;KVc zZmOu<32gCFdq~ppfC_&#gV-4V`BwmcaCIi@03SH<74s)w9&BoMRsN^pxaH37z7rxF zSF4a#63`51Gf*GFOT$?DDh_&1`kV1PX}(KIO<^!(I|Fa`I=hl9z1N;sB{wwQ(lJ({ z5iUl*&+kXTWova!`pLmFA9L`mYXF=;TPXt3rdEO)sAxV7J(nCva8q{l*qq4lQLl-7 z`cw-<5`Rd?Vc@!uJ|C=y$inHlBh0&1)XU*f91oN2#<7CgX0{K+D`~+Y_eq#8u>7d& zM_v~%``9FZj6++&c8=b!2H_*aGcBT>=_bd$EqdwQj{QFJ0|xapb2S7;j7%&8mAPwR8Ul`+171TvvugtszzmB(Wp$K zEHt)HrtLm$YgeZtVL6XJoAE4Oiu5c>M5L|tFO$_PszC!`W=tx8#ecHxzHqZL#%8QsziSr z-9L$WPXn;#a{1U$+#K!%cy z$?{IsV}SRqfE(11hmWN)rW6BN-L|CRv?d3WNS457Ymf~1fOLG$Txs%qM;-hJKJo1%ou2ao8aU+fzB|ckF$WPECKE;p{L?5v^|O)bFDNVK_2Qh9eDeQfKN?Y8&NcNmpR|^D->goH z>UU2W>IRl7u<wsdQRx^(2@43EW)(L>mep7n-$u@JN9y))x$>JQ&i1 z;Ont(n?49*4a%)a-L#%*7_5L9}Xh$H}Q;>Hw?s4HPJ>ZV~HM_l@G5 z64E6A`IM)A;{BE(+6-KhJm}z^(MYKgbO^dZnHFuSlfyC&tr)dct40 z>f4WS2P^;%*<mQzq!A6Srjxa@Y@kSHqU(OT%R*_OQ+%J>=6>jz2Zxsp%(+b?9qa^&?Uf!C z8wk4(6|2)Dm^9$s>H_cRp5m@grKRbdQ5n&aYDJvDhEQXoqce*jI1g#ps zmP;oz|068+<+S*IUh$V6`d-$(ToR~!01rAMw!np~oKhKQ0ldq)xVvVbN0#l3Ed-hjVkcinBXE%@aRz*RS&8{45JhLWWCmxHVotVLB12Xyy8{F=Jo8clPBd*Yyb?2 z5m5f$C7Uh^)Et8AU;yuwfD#A*I#0&)cF_#IS+TFBaK^hFPe&QbVm81G|7ehhGqHH7Bmt;4NkaH6>q*R1MMp;`lR#M)D1l5J&Jb;fYLRWT z%G)jQ|4LjdvRT?%hpb!$v1nhhvCIxJoc$x8^L>Yc-%o*+e>xKZigynVb1|t)IUUr!~y^{UFHsyIs~)zh`5$U^JC60L?5e-z~#lT03AR z3whHvG?P9_TU(`5z8d5gC~juQLSyIH!d07AAyUanjKKw+Vns-`VH zs0W}V5>p((+reRLz@Qa`r0o1cz=>S%evY{AJ>Au)QvVmyHTR9BE+UN7t{0i{2~5ri z#IsqP%4F!jeFoJ_Fay)vpM_NauW~0(HcKnj(!1Qi`C$_lsk=^tR@Dm%@vOtZzXTI_ zssIix*UiK^mAT_0i0XBZboGyZo6r5;-`Z;o@Ls4UKcojDlh4%Xxb1lCfAsFZU4oOK z0K(*nfzu1;?#-4|a2+yU!sh3b803sV)s+zNcC1NJoIla0ke-$K8je=BCCCm>&B{c_JEPN<^ZBh;km zEN6F7(MgEdKIT!u`Ed9$R(q%mm4XU})lL zO~5c?1oEe|Y`bZo|LMccl8iVuF{|XV-NlQSPPtIWMlk2j?~{Vn$}%U~ET7PbmI7=(+}3tUnF<3iWgnv~4D%s< zAeDn2xSzhU_sRW?Iz40EKVUq=*z6Kc@^o_Jwfa#MpdT82qy<5>i#a15itu zAh1Ksh)it$y%-LU4~gcRcra|`&0_NbUB3I_`D`7`E8!gu_E$EzLGzs+!?3g)APoAP zjh_XfT+R4NVgoHr-?cN>7-~ejStq!E_1opLa_~AFu3GK7V)OviUR-r*kxF(YA5aE` zUPfJOZ`!_6%yNFMjg2eDXO8CQyD0l^&CSE%(2!m!QIgp!^S`*dZ=q8SCSH=qmm93b zu8BmjeV@g4R}@bEdh&!KCnhs>%O?vbTN>9NxM_UHsden3>5kd`_969@te^r%2RkeM z%dtgs_qW%31gU-5OFsFITa|`^{YA?@t)T8DjW%II*pJkCsM_=U^e74>nNrPzK~0Bl zeT00%;IKsotqFpjY??hlFs#-n2GH=C{;U6y_|`O_h)#N6jHJKO?Z|1(1SYurM$R1S z?XcGPLpwdpD@s?jGr_(nyD&v080brolTCSt=}Mn+Cl zX7VNuhM1JxRPy)1lv&6R=)Lf1Tn_IT+J16@cIE~X@ zgUfOI{#+UU7J9HzemNcF6CRbAW-dbMb`W6v=pCn$M1EGAmkk1h7v|-Jq@M`5_lV^$ zDB%;f01B9X2omhA&0p2yh5EPNqLUjE96+v&+t_<6D6MN=z31ewr$Qow8{*>(gP_NC zg_gkI?e-!c>d9>Lk-QXz+DZR=bHJ~Hp&-5y+gDUJo5wxRo_b9 z`;X->=FC+Th6m;s;tg9k1tR<>WiFDfQCuiyIM>Eix2gN)6`sPtDmF%E?ibAZfCv@hmy{_NVMd1;{l!!dY4XPTP3 zk8{fS5MQO0Y@E|VKD5EDo2amk7AJsTWOl0n0xyvd2J1139TUaDVM>fSVT2%W+GefN_W;56 z9I%0&J}UW4Q*SKZic@jJ(xxC4fC1%gNSX;f#Gcg6i@gfhIoM|dY^fe5?;gpR>^=8Ht6c*ci&?8^L82b zbnhHks<22Bt-q}j7hk~TV(oN}=u-;fwT<{sZ^w+_CNDOG>u&2|&|_muxs7r+Sbqt@Np3oAYM>573{J=g6OzV=A_PBJt2#i%Up{dZADIu*D zkwSGQ6Suw%ZQ)}>t$?1%537(X1n*u@;++a=J4mM-p*02ePiZ*C;B&+j)DSR!@(~Gm z%@gYct)}_~CC`$FK~`co5`4soGwD<5>hGf)5wq^ITU%eu#Q93(n|Kep%>xBHZRO;Y zl|dMFES%sx31g?#3P)%D3!0phKFfp`kv)63Tk>ZejC;OdKQrjmE(ZR`wCZU!9Zm(G z^Vw72>T-{buTnt!XH8q-KNK1WKSZ=8>_5gLaMT|38MuXKES&(b-UjfIxfs0Ki`G=m ze@caIAyiRrKH-;O7BQ1e6Z@j z+e~QcoSbNspd574wTEJyDmrCY6_usWJ(Am~G6+fKXi(ywMJEa94^TVVEd}{Mx&XYw zTU2iTO&Xhie^Ak{ZI&>N3(d|MT}ha2ap9VYp;5HLefDvyh4tFj7G8^qSAqH>OS~ z6azVn|44f$t@x@Wt?*Ci7r^i&TFwHNKttf4fubu5JGfsFrtl~Rbo3IY)FSP%d2hz< zR;S*=wRuH5l=OboIuzM+fyV+%5LFp^Q0R4g^hWX6g2umMYWE>+>mT8l9hcx1lmeW@ zwLx-T3X4Zg|9#iUMp7Oc9Gc}_lj4#)Q{2O#rvQu}Dj5!5JjCG4d({Acm*~X)Y&f)o z2?k)Eo*myVGB_l|V>FmN3zQtO*G_SA1$mG+IzY{08@Ly$=B5jakwB8&rCn9rF>sA8 zm#NVaT)pELxXj#a>dK9ME)Kbb;`^`Ms%l=jDdHqy>Jn?C_C{(&8Wu8V&{%oygb8)- zWPu}d2A*oJ*P`t`hE$8ec(cvvLlJ$>D+ep*0EVDyTghmHXY9wZ+QRYl>jgA4sR74`53@waS z&IrGpwYZ7&yj6@dXK&+rw|1Z6%{lt5BxuI@ywUiGm4EZvR(IjzX*KkMLK$|Y#MAZd zgS?NbmVc<+GYW?X>!uX^EAWDV=q_V{<2WuhT)5z#C_nhI2j*enEczezpDB1@4&yza zb7Q(Z>9p&|Yrn7@xN%zT29wC;lR?)nx3sj#mx$#wda5VexmbJPu%w0cmhpHJtY3!Y zuD<0m20;Yu1XqirW#prn3*QuIT|6gX~Wx3u3JvsWzx$1-DeFpu3c)|w!Hh#<#$sX zPtL`Nd~;*)I(Cp#-^YMK7_&jyaj;k09rfq_mwx>5O``5S57E%U;M>H}W$2^4&TLoa}uwkY>f_Fd+@M-YvKG>R5@@`MI5wpI?6) zkbR@0r>7({_VhZGpq=555fPFV4;V-pRPO$IvKQFuO*RJmyYjKjOg#@KU-Hs*zSDrW zKkl_ZXA2A8f}O6J@lKL^eRGeQFK7dtbk#ukTBSAwr7m~ngr##Q`12O)&k|y&GbK;b z$qZ&4l+mWJ+Fq-_%z#1+mH~p-1t!}N#mje1P`2&|eqr#dlh^K@QR(NF=P)J7%bnck zHth83F*dJt#19!GpO#{Ok_Q$M-;3jCofGYEiKB|~_#q?KiVAEa+abrTBm|7G^=Jzg z$$$|Uyctvze*$V-q{SW5YzN?&nOzO_*Ft-cRcGgCCzN^nZi|(>R3ka%!{!80$URh8 z^AoWiHj*%j6vSJ+Ea~UQ$u0q@AZ_voL5Sge>kPDfgbSCuac|wm^6l>xI=3*k_xPY*PXRvyy z*HoGbt2Vp`73^i7T11`QN1D4=T-)0vdK9gGSo1FZNuc0hO<1An<4~-av4%li|Eu1e zKg|bn&Zzgtq@_4|JTCC}b1QOG+w^PT!^-u7o`~Uxo#xY5k-+=}?D<3sUb8nsK z$U96v!b%MOPQ#|H8iPaV20DchY0y{WL=2{fe@? zcx+9hka1JP?{pwpwzRCrh-X$)wh|1ePS0F_X-P{~u$0@5j1qQDubGltUZpJ)a=$kS zUl~&{Od(dN^0J*uFjO@<75&1=vm(BruU#*c#pqhO0>s_U0;8nRn8yBD$R`Zf0jeDW zfI`UMJ1)*(={-kZ$A>UuLcOG9*=}0(ylKhBu)T)AScHX!v8=3A;2QRL@(r}j9{T`E z9dy!~hH<{T1sTf=)OMhD(`L;*e*XSGWF4qVb_4%`yqX-RS8hm~v)w5v#Pg}Q$IJ6C zw`i5Ui7n_L9G#kNthT*Mm~XK2bg6yRyVE#Z?s4U~W9ZYKiGW|x**0+bTmLzO}43rhP6rq?o7Z?xFPS$g|>_xcj7fkk@b6I;nYl!N{G|I z$Xz;q({}t}a$fej|Ln7!Ih&b>T~j!t4vq54X}LARzK)w1)Qkgt)j)PL&C?HbmP5W~ zFeT$Q4Pd@`xIO=$DiP}9|9FyE1Wq?&%Gwn|)g4SX6GwWv8*e_cczD(?`_tEIq?-HN zH_uk*vhL(GNU19`_1(V`QE};FLgT72?|_JoS(&{C@8HZ#&{SLXxOKd5Fqe&ijH@UZ zv~&0xlS!(6V$Ar<8Tuhbr$7Gr8137xsN$N)8l% znl=+nWd0?8^pWS;i`mU4q8~bShMliln5AlrzWZ9cyJROpIyF_Bo=jz9yS&zN-7jlw zqi>;Hg7RmU+k(t10pH8GpvgL}u72%OcjqnMT3x{&wQ!heb*{{JJEB}QGILy@F{u8! zV_&m&@OvY9`>>7glbtJ9WnPiqRKG60eA!r%%TyPCU!(YPZ$G=OON3;h9|zZ|h=#G9 ziXM{7$TX?!m53nx0GA!qj9!TbF2!}2_|G>I!)Y1x0CP=d$o7Mdl6q z)>gTj+}yN|*8|F*9M^2W5`xHw=9{(Mf*Q(wuBRr?aP~$IFKT?FzaS8_V0o}wen6m! zH`PV9QDqR0YNB=C7*bbl=_hFeP`;aKSZ31JE1NfQ)UrTOOsa zZdWqu>BQXk7VnnL+nOciQ!+I^W>$iT3mm~!HC$gH*eqXY9DQ6?V~|aPC5z8~LCqCe znYMn{TdjHG($_E+6xXoNjbo{*5NX4n*RYZ)N6%PFnfuGJ`dOeA6>5yO)0sxJ9<*!H zAq>oK=ZmrlotyCi`P%7r;YM#tV5J_O^{8N-F&pOZx~Dh;4u{G3Ws9iPiU?o-y+?<+ zNf&?loZQ znS}V@jYiR@#tERW8YW1FNJKs#=+rRsI`y*~Lg|6zS4Rdvq91ymy6nKtjO1U={cd;h z7rQDe!D?4e&$By7w>hpe_0%paZ%rEuvzMrjE;;k|5s;U<5edQhr9zb@%bH#jgnO)T z6?G5mTH6aY_dI3H(7ZDkT^Vuvo$R*O-wM6v*a~NA<9ni8zd~Q@0{Q~ccEP`&fqumJ zNfRxnadI-R6*|eV=^|5@(<_Rk!pep)*6?^~vDN0qPHxiBA?NFGHJQ+C-q8qIi{nG6 zHTCPteLMNb?{uA`Q1qt*(8pj4nI#Y6+B~ObUckUSVEM>B4gn}Jmry!gN9$~EE?CEQ z>q6;i?}Ku|pMq^YxenpH?W`e654eaOHK_;^bpJ3>%}_$aD7Ym!1;aM(>NRMqZV)=L zyj%{$Aqp(| z7}*MlH||hJTPVwGWIFb%S@b1l0Q}LrWnpPb7-johgXw{wv+r*H&~zC^YU(jqOouMTvRXh;rj}F+fb|fm)Os}deIRvC9>9g z0<+i{`h+CNm!knpd3_*6pz3PD{^^Ld6z({`eX8;sS|+0lgPkge zz8GOt$wj#=gBQ6!dqt>fklQao=GcH(omtNZr;BsRg1E*IV*J?gNm@zBRi1<)sOwI= zeNSAapkB1q=s`?oD(`ofk+cG}=VyPX37(v(yKGYLDS0+dZ!_Q*JsdwbnWgP_;XsbZmu6dac>BFcHp<^@Tals(U%MtF z$jj}kG2fH4HWee^c>OpA5A}B9FTY&Ty{Y`0&X1D-RRpvv=?{8)`Tz7T39M=Jp7A)$ z?I{L4ofcH)*nHP7HZ%M{VfP19Jpq@xv2q+K-fyH(#Ss=6Hs;~@iIDQuVXH>|)l)21 ztou^`t@v@j`Pc5k{5274oVKZpa)*N|J;u*=W;e%~vd7o0@Pl)n?KQ5G3u9Y89{I&7 zdB+oX&xpSDx5*;4Bkoo%asfGUHD9i?^j}DGfNDP+2qX~t6p^2sJ6x}mn>+ac7h$jV&?k$$Pqi@99d(c@0hn8BwCDo7W#dC#t->Mt6EOZe(G3n=B z;;fNZ5{Fwe0ryH)pD!WM+8F^7_@8>@Y0ddz!-bLXK%*QH&`_26C$gVewe&i)^622Yfn zfKjn-V3grU!C5ao+<$mRPzJ^^<*P`UeKz%`nyesyl&475%vjy7=iwY- zVW{Gfsd^dC)t9$@W-1{6++l;7o8GoEzh#T?50@&Hfkb{utK-*P*` zC!zTOba^hcdZt5%e*5X_=>K#;)#*TS1ya9 z45KEv&vuW;a2%n-q$zGUK27n{u;VW#4_w8Q#?)`CH1`%(Sa!s_Y-I91LTG5zCG4DO zuf`eq#)rP^h!0y6jEVnaqY$~EZsA$rI_r9@U)`?87`mDNUcRE8?E<2BIqC*BJ&UhA zOKOXf9rYNq$%Szx0QX_8*I16y*%fiqjW36EPrb;q{_TrUPc2_{o7!r}2YpeqeiRU` z;}Hq|H%i`6ZdAfdy+=1~)Q3F11Uwrhe zt5u%gzfaC-&)k+s`bMmm5YlqXVJOI_eU$(Mh^}Q z&Q9E^+u=xZKaLyrpmBH z{6nYx0J#`wdZnGfU$jpAsx3(GEQ6WCdzZ!$eY=Z>xjS=nU+vYO;tuD)ge zSaVb8#}$8hEjNuPeBWHg>hQ1DeLr@;b+d$ePbXcH`}?{nOl- zw0kOTS-^R${IhpS-?Qv|3hS#>X~gkziz$(0_@Vd;+HIT=6aEYkFKn1^^_hYT8q6AwC7{t4s`26$8l!RzZm(r52578{BXcn%C0OUPS*tzr> zWA)dW?q|mD+AFBkfIupA3{SnKOo)5qSH$5oWNar0^u3+no|gKte6fE`H{^CNBL2Vj zt~{=(>)BUaP+LW@YFk9Cpj25>1x1V!equ$SfP#P$2)(I3cCK#+=n z5djfGjFA8?AR>DpkPtvwB1;Ge0Rmaxx%K_?JeNNFeBK}LkC#8sy}5Vp%=gU9nKLto z*6(mxX+Yzt)^zosnpNr^zTSH|**3-*TMO)WX0=>+8|5T_`P;6yl`?mOv^Ud|l?I{P zR`R-4hKW8+XNvQ_gLL4QWB4cu)!t_#b-|JEH6I&JMO++$UE+IQQI!R+2r5I@O9|`7 z>fanr>Qv8a%1FJkgk~4zU)%PjxaDT=_+SU+50c7YM;Er-!tmWWUCj@P6&0;D#M;Y! zN?!(7w0oZj3)w%kb47qESIbM}#}^Q3)xpBL6{K`Jxl3^sECkTu`8%?Jb!_hySQWx| ze;gSGZV*1XY851*MGD-F?_bxrDbD^<(0g;6t*&x&Y5BAIH$NI}3`|dn?R#v~A5xrr z_(=@?n_c_YS!)j{($r>xm@C`z9yno`XEK^G(|N5`A=oSCCIR^s} zjQqp?pSwoXb;-(+zhpC@5^jZuYw@;}e4`-S_}Ts3S}Y^(5|KH?@q6fGdXBsEj0@i4 zmRCblaA+vDxjFO+-xiy4bISZ#*U%G=|M#IGcVyD=rX;cbjY9i!ESubPdW8Hik7V!l z(*&%EM{**4$w9W=98`KyxZa5L;{R^y{nzkP0|d|1dE>ex+f3rt7)0!h=WWo!TU_A| zmI-S_0%2@OhT%r7gaZsw8<(p}T;2DAE~@gG3~6fbR^DEu!)bud90O?p?-9bJOIqRCG0${oY(*AL z?K*I5s?k$HV8{_%WX_z|)+~vw2giWLOG~l4f8!O&sEWN>&;2Lj-UoUA^8I>!70YZb z-(OvNthOHAmawb8DUY{Ot(9HBU@ zvf!x@#LBuxuk#Kz@Whx$kY&phfiMuYD}@V}*v+GcN02OcRb%~6Pr3%*9~HauE3n0O z)z1dmuEg5%Ek4|6q*oZHo6BKw~tK_q3;khVtr;eUukbaDBwzAa8{*P)+i)Dns_`bIL{dD&0`_8K4gLh=^ zN}?klI>U4^-319R=;jd*56C+WiSPVVXnN)5ogD;>@at;2h`*efJQ7pr8147$tM`U#k>W|W`D||28=3`Y2-=DjOH44*J7|S4P zvzS!ZD@Nbx#F46wVUB%fEwJFSDus(*!6Nt^}MfHac9y~Z$ zAKE?9#bOTD`4Zgj*1|83MPh<+*46^}68gwPFNJhQ>7&ai^F_a?g4Gwm;VI%~Dp?t% zsSZm)X_oR@uY-ocKHE)u%${+-?oCpp^=)_m)#V;zNn|CH`rTkG*!e33M6Jv z1r~;ee|ra-5o_EPkgSXIpHbCAMG6E%{k32SmPA&N=Y-^hAbLk1<4o$Uincgz#-^IR z*z$zm`_2YGR>GO0oX$PH)p( zb8cgAALXXU6-C(;mr^#H$o3|hH^2cURuoVq`}Zx`hN2fx3_gf8^&)=oQ$1VQ5E-j} z`KF;Ecc}hatX=l&savnwZmM%R+^uuxN;TfbJmV&Wx<&j%$A%_pJhilZ6jOP_X!huL zI*WYQx&ID{VCW>6k*aFfoBz8PK98{g#Aikz^GVoo5AHXcxoGKz4I6A)Ei77N?|9Xk zk(>>c3pIM{bY486Q%=yXRADpUu@YS@bt7IDbFiuDF_&I=7P_KjdvX3QJ}sB-{;NuvD@USBiCk3-_!CiEEwX z%;}u`t`BW#_TJ)GO|BH&{=G?@;R5DP>U8*AC5y@DlMSicz86Z%*Gx!yZ_h*z&JN+o zlQ@~S^K5Ll?64=fFS@{5U`iGw+kaKo>mnUUW!GkcQ=_=At68$@Zt;0f7k?ktbe&Uo zS6p0x^wIN;*;9(-kt7zF7dXc7v@MzB{v)-&p<_H|a=f}*X4@YRYl6s%Qh;}#v_`aS z6jV<9Lvm=Q$I^4AcnO{jj0jeYmP6V^)IJqT%Q@k$i$o#A!ouoEOryjGUr~i zM=><}616b-oc*K&F+x~>^l7NCRgV{D-9S_!b9?-lJ*J{aZOAQ}IyC>=pN8$#{oGPH`$tO_NjSfo`N*!RAORW5bbTKC>u*~#p8 zEu}<_r{pnpg9Hmo*|7Df6_5*m9i`0G?od}ErfjRTeAb}Ns$vdDzF_@Cju(r`a&CFX zEW7_#hBWkuO}T;QSmOTXmwXBRZ52MFCGW&2$wfny7=BCj_R(nv&CdKT;VRr%mHuc3 zhR68DNEOB5OG6y5Z*^QztRcG2H3rdtzDpF$1mkrpMpR=o=#R3iH{)!K3f$Gmy9->1 zB0H^uWGk}-Eh)Y$#CG;1$FHm;)c>M$D4zc4ku=S>Gg%ktl#30w3>kjLgZUE@snUUy zM;^Es&2Ru<%R>)fS<|*pz!c3la_@vjj~IhuKN=4! zWVyO}7(`>}KTsWNOaq)En&Tmb>_mZD=u znhqN+u-p|k!BlLXp-CD=l(PPOgM4=f>#15bNnLBQXEP=yESnkMPV0&gl6xvoup4;e zQK>AqweYhCkgSDHz87(!dh^&ezoL3Dv_jo+%#LJKxV&Jhm%CL?|1^w3v>o(ulK}kVE z5hZX1L`ylF$!Gm2v$ZGD;Oe#f&6_uOW0`Y2;r-fG-4R@_jWcd8gII7+Sb(ErMHUyk zuB7e9Za+U!hl?9{B5K1Ey{*>4Zy(73nu1qM+YNI7eMJAEvD;#HK>);kaJ&7A&auV5 zKRXynDqS1{-2|gR%?6l!;Bkz=IT?`EB7F~-kGb0m`|tBX|0Hq_B7c7J2C%`!s1iN5MIG_U2_L15;WbgKrbsH0Yn4?V(P)li3;m>1f zC4DjD{fipEBLg@{PDzNrUV%?eBc7&&IK2v?DpT}nm0it<&N9!n%& z6nb25KC<9{BmtrvEPT9R?94a$m(MIBv~0?bMZXRU7cdGCmBeXVaQl&*wPTB)<`|l* zK-;17yfeyiB_K+Nn!n(3V@vfOMUtg|!d_@S4kP*F2=!|~l%ps9D*T1$BdJF!l*UpA ze(-^ke^Dg&x0&|b0f?fqN;ja-P59&WV+-e#bq1fzsYn-C8Sa)2{ys<$FOFhz#;l zlndxH`r%T*39dq_DH@wlQ3LoORztmliWvNw_npu5Hlu+))BJBf=udEcnLDUt2~KDw z$TgCt?96{$=79_0Yc?;*=5={zz?mOg8c!ne+~KDuP{M)etLQ)w&n>iCedt>hKFA0? zLs~8wTUM(c_yP^rQTvg|0AKMgl-Y~=$>0t5tPv&G;D3DmJa~c_$f6?v6EE7a;3GbU zY%`0EYHd*75Y?vq81drhZxMvGh?+MWhG>iAY&UsW-8cfh0I9&BJAq@OsPy0)qI|JZ zjx1eGUdA$-X;jx5O}3)sKA28+k(dJ$tX95@`rPC__v)e^NdC)$|D0vn`DbFw&*Ork*FUzfZYi}Dc z-?k3Ag8T%4<6Uh!(`Z|9NKp&DfjzoVL;@IrvWF#Jjwql{Tl+)J1>DR4JGZ)kF?*jC zF*V_GRN!j8$xJXabJ#Q5Pr-Re!n^$?=0Ji`(&18!q&3-A-bZPnl*v{Vn)#$mhvO!! zZRLo8_GHiL?cROs9B(Ge*G%9mYfGn;@hzrvrr2bWl%lhOL@EA~Z2o~)D1D8|X^oDK zw!z1b$_7-r&86(J0S=2mw49N>E|*+J)+0g-fmoJsxUBm2wTT(Ai==h(Rmh4Eep*8~ z^bt{2h=6YI5OeZ@AEM+BbOEk|IqZmZ?);?g%9GG>GFDyYw8V!6HosXLAtN zspjOvb^v_@BwGRxrJiGsGLP?X9~;Z+w(u{s3d5K6m~@NJJvkBo&ODxA_B;Nd>_xF= zOLizTKsbaCY$YRL6&?7%tF{R>ibmEK`UM(2&LK4~RX7bMO1LL~U04Qt4<)|?&$Dfx z8v_oVKok0J@}pFN@MzC7b5Kg%AF3$09ci#X(~*+WasLgY<>qRoRXIB>LL2y_oWX6) zVJ)_Lb}8(;@OQ={P33kqST49#^}|{uHY5H*8*TTiqJBlEyy7>HNAl_ZLLbj&b<^7% z7U?&X<*B4B5|q0r!UWATavC`Wt~7E0)yNK6oCbWS0}f86u#%JX?gNFCuC74H8qf)^psDI zHWW%D^HBa9WDMN+)mu^*+>Xf+DIOb6r>nw_KdY#sDEIcMgR{4J?pix5BSE7!!OJCb3Z zE%!bGXgynU4UVy(gA^2t&gV1)YK-L)$wqemygd%tr5caRdNqB`q{ym;sywFr{KIWU zwGfSPS)*^5J{1={Tu0Hl?i|Yf&3#-|N3E&=t&B!w3wWk$x;P#@> zV?TN|_mK0IMHg1zhfxD6XotHeb4s!rBBqKhOZB)NS1O{Uip{QtA+33(A0DF|UhxlG zYAE0UBL0V6yUc$r?TV<)r+n}YlMYkD2VTT1%gsLyW_%C>qG!DM~LZ*LGY@{L0iOwC{aW74O<>1MS9^mYY?wNo)Df zo`vPI*;P2NEf9-AVj2iH-72=(0bQEMr)0$e+p~ZFSJ^Q9^~)<9n3DdInz`~ovgd7* zq=;3I(bks_q@9oUNh~eNTdb&*Gj%`NC51ziyuWcb$o=$>R2j;1khXyX2OJm+UexYH zYQA?r97M4e@Z%Ao8UhjQ;nO)NUMo5yPMiX3yZdOp$I$Oz<8Fnl?NF1S=lRFIN5J*A z`?h^@p%b$4783M8uW~?t#<4TVdf@XI1>y^a4Xp*}vjbLAnXi$c$LD2EqDVq)fNeQ zOgIS^eAN7XZ9tUWvb_iAfgHqM{ak>-|DPEDGrNEW`9C=^WH^&L0nP8(J?t0YXZDlT K;etb_Fa9TlI3aHU literal 0 HcmV?d00001 diff --git a/examples/graph-db-demo/neptune-example.ipynb b/examples/graph-db-demo/neptune-example.ipynb index 0c0226e3e3..d1d2d6d46c 100644 --- a/examples/graph-db-demo/neptune-example.ipynb +++ b/examples/graph-db-demo/neptune-example.ipynb @@ -88,7 +88,12 @@ }, { "cell_type": "code", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-07T16:46:45.860601Z", + "start_time": "2025-08-07T16:46:41.565968Z" + } + }, "source": [ "from mem0 import Memory\n", "import os\n", @@ -112,7 +117,7 @@ ")" ], "outputs": [], - "execution_count": null + "execution_count": 2 }, { "cell_type": "markdown", @@ -126,7 +131,12 @@ }, { "cell_type": "code", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-07T16:47:21.148793Z", + "start_time": "2025-08-07T16:47:21.112509Z" + } + }, "source": [ "bedrock_embedder_model = \"amazon.titan-embed-text-v2:0\"\n", "bedrock_llm_model = \"us.anthropic.claude-3-7-sonnet-20250219-v1:0\"\n", @@ -178,7 +188,7 @@ "}" ], "outputs": [], - "execution_count": null + "execution_count": 3 }, { "cell_type": "markdown", @@ -191,7 +201,12 @@ }, { "cell_type": "code", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-07T16:47:28.571594Z", + "start_time": "2025-08-07T16:47:24.518456Z" + } + }, "source": [ "m = Memory.from_config(config_dict=config)\n", "\n", @@ -200,8 +215,39 @@ "\n", "m.delete_all(user_id=user_id)" ], - "outputs": [], - "execution_count": null + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/andrewc/git/mem01ai-example/.venv/lib/python3.12/site-packages/botocore/auth.py:422: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n", + " datetime_now = datetime.datetime.utcnow()\n", + "/Users/andrewc/git/mem01ai-example/.venv/lib/python3.12/site-packages/botocore/auth.py:422: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n", + " datetime_now = datetime.datetime.utcnow()\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DEBUG - delete_all query=\n", + " MATCH (n {user_id: $user_id})\n", + " DETACH DELETE n\n", + " \n" + ] + }, + { + "data": { + "text/plain": [ + "{'message': 'Memories deleted successfully!'}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 4 }, { "cell_type": "markdown", @@ -214,7 +260,12 @@ }, { "cell_type": "code", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-07T16:48:31.146522Z", + "start_time": "2025-08-07T16:48:20.053217Z" + } + }, "source": [ "messages = [\n", " {\n", @@ -233,12 +284,170 @@ "for e in all_results[\"relations\"]:\n", " print(f\"edge \\\"{e['source']}\\\" --{e['relationship']}--> \\\"{e['target']}\\\"\")" ], - "outputs": [], - "execution_count": null + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DEBUG - Extracted entities: [{'source': 'alice', 'relationship': 'plans_to_watch', 'destination': 'movie'}]\n", + "DEBUG - _search_graph_db\n", + " query=\n", + " MATCH (n )\n", + " WHERE n.user_id = $user_id\n", + " WITH n, $n_embedding as n_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " n_embedding,\n", + " n,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH n, distance as similarity\n", + " WHERE similarity >= $threshold\n", + " CALL {\n", + " WITH n\n", + " MATCH (n)-[r]->(m) \n", + " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", + " UNION ALL\n", + " WITH n\n", + " MATCH (m)-[r]->(n) \n", + " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", + " }\n", + " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " ORDER BY similarity DESC\n", + " LIMIT $limit\n", + " \n", + "DEBUG - _search_graph_db\n", + " query=\n", + " MATCH (n )\n", + " WHERE n.user_id = $user_id\n", + " WITH n, $n_embedding as n_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " n_embedding,\n", + " n,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH n, distance as similarity\n", + " WHERE similarity >= $threshold\n", + " CALL {\n", + " WITH n\n", + " MATCH (n)-[r]->(m) \n", + " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", + " UNION ALL\n", + " WITH n\n", + " MATCH (m)-[r]->(n) \n", + " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", + " }\n", + " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " ORDER BY similarity DESC\n", + " LIMIT $limit\n", + " \n", + "DEBUG - Deleted relationships: []\n", + "DEBUG - _search_source_node\n", + " query=\n", + " MATCH (source_candidate )\n", + " WHERE source_candidate.user_id = $user_id \n", + "\n", + " WITH source_candidate, $source_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " source_candidate,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH source_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH source_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + "\n", + " RETURN id(source_candidate), cosine_similarity\n", + " \n", + "DEBUG - _search_destination_node\n", + " query=\n", + " MATCH (destination_candidate )\n", + " WHERE destination_candidate.user_id = $user_id\n", + " \n", + " WITH destination_candidate, $destination_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " destination_candidate, \n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH destination_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH destination_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + " \n", + " RETURN id(destination_candidate), cosine_similarity\n", + " \n", + "DEBUG - _add_entities:\n", + " destination_node_search_result=[]\n", + " source_node_search_result=[]\n", + " query=\n", + " MERGE (n :`person` {name: $source_name, user_id: $user_id})\n", + " ON CREATE SET n.created = timestamp(),\n", + " n.mentions = 1\n", + " \n", + " ON MATCH SET n.mentions = coalesce(n.mentions, 0) + 1\n", + " WITH n, $source_embedding as source_embedding\n", + " CALL neptune.algo.vectors.upsert(n, source_embedding)\n", + " WITH n\n", + " MERGE (m :`entertainment` {name: $dest_name, user_id: $user_id})\n", + " ON CREATE SET m.created = timestamp(),\n", + " m.mentions = 1\n", + " \n", + " ON MATCH SET m.mentions = coalesce(m.mentions, 0) + 1\n", + " WITH n, m, $dest_embedding as dest_embedding\n", + " CALL neptune.algo.vectors.upsert(m, dest_embedding)\n", + " WITH n, m\n", + " MERGE (n)-[rel:plans_to_watch]->(m)\n", + " ON CREATE SET rel.created = timestamp(), rel.mentions = 1\n", + " ON MATCH SET rel.mentions = coalesce(rel.mentions, 0) + 1\n", + " RETURN n.name AS source, type(rel) AS relationship, m.name AS target\n", + " \n", + "DEBUG - Retrieved 1 relationships\n", + "node \"Planning to watch a movie tonight\": [hash: bf55418607cfdca4afa311b5fd8496bd]\n", + "edge \"alice\" --plans_to_watch--> \"movie\"\n" + ] + } + ], + "execution_count": 5 }, { - "cell_type": "code", "metadata": {}, + "cell_type": "markdown", + "source": [ + "## Graph Explorer Visualization\n", + "\n", + "You can visualize the graph using a Graph Explorer connection to Neptune Analytics in Neptune Notebooks in the Amazon console. See [Using Amazon Neptune with graph notebooks](https://docs.aws.amazon.com/neptune/latest/userguide/graph-notebooks.html) for instructions on how to setup a Neptune Notebook with Graph Explorer.\n", + "\n", + "Once the graph has been generated, you can open the visualization in the Neptune > Notebooks and click on Actions > Open Graph Explorer. This will automatically connect to your neptune analytics graph that was provided in the notebook setup.\n", + "\n", + "Once in Graph Explorer, visit Open Connections and send all the available nodes and edges to Explorer. Visit Open Graph Explorer to see the nodes and edges in the graph.\n", + "\n", + "### Graph Explorer Visualization Example\n", + "\n", + "_Note that the visualization given below represents only a single example of the possible results generated by the LLM._\n", + "\n", + "Visualization for the relationship:\n", + "```\n", + "\"alice\" --plans_to_watch--> \"movie\"\n", + "```\n", + "\n", + "![neptune-example-visualization-1.png](./neptune-example-visualization-1.png)" + ] + }, + { + "cell_type": "code", + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-07T16:52:34.420084Z", + "start_time": "2025-08-07T16:52:19.535408Z" + } + }, "source": [ "messages = [\n", " {\n", @@ -257,12 +466,233 @@ "for e in all_results[\"relations\"]:\n", " print(f\"edge \\\"{e['source']}\\\" --{e['relationship']}--> \\\"{e['target']}\\\"\")" ], - "outputs": [], - "execution_count": null + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DEBUG - Extracted entities: [{'source': 'thriller', 'relationship': 'type_of', 'destination': 'movies'}, {'source': 'movies', 'relationship': 'can_be', 'destination': 'engaging'}]\n", + "DEBUG - _search_graph_db\n", + " query=\n", + " MATCH (n )\n", + " WHERE n.user_id = $user_id\n", + " WITH n, $n_embedding as n_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " n_embedding,\n", + " n,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH n, distance as similarity\n", + " WHERE similarity >= $threshold\n", + " CALL {\n", + " WITH n\n", + " MATCH (n)-[r]->(m) \n", + " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", + " UNION ALL\n", + " WITH n\n", + " MATCH (m)-[r]->(n) \n", + " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", + " }\n", + " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " ORDER BY similarity DESC\n", + " LIMIT $limit\n", + " \n", + "DEBUG - _search_graph_db\n", + " query=\n", + " MATCH (n )\n", + " WHERE n.user_id = $user_id\n", + " WITH n, $n_embedding as n_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " n_embedding,\n", + " n,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH n, distance as similarity\n", + " WHERE similarity >= $threshold\n", + " CALL {\n", + " WITH n\n", + " MATCH (n)-[r]->(m) \n", + " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", + " UNION ALL\n", + " WITH n\n", + " MATCH (m)-[r]->(n) \n", + " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", + " }\n", + " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " ORDER BY similarity DESC\n", + " LIMIT $limit\n", + " \n", + "DEBUG - Deleted relationships: []\n", + "DEBUG - _search_source_node\n", + " query=\n", + " MATCH (source_candidate )\n", + " WHERE source_candidate.user_id = $user_id \n", + "\n", + " WITH source_candidate, $source_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " source_candidate,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH source_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH source_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + "\n", + " RETURN id(source_candidate), cosine_similarity\n", + " \n", + "DEBUG - _search_destination_node\n", + " query=\n", + " MATCH (destination_candidate )\n", + " WHERE destination_candidate.user_id = $user_id\n", + " \n", + " WITH destination_candidate, $destination_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " destination_candidate, \n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH destination_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH destination_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + " \n", + " RETURN id(destination_candidate), cosine_similarity\n", + " \n", + "DEBUG - _add_entities:\n", + " destination_node_search_result=[{'id(destination_candidate)': '168e2473-63ca-4177-b50f-0d281d54b75d0', 'cosine_similarity': 0.9449627}]\n", + " source_node_search_result=[]\n", + " query=\n", + " MATCH (destination)\n", + " WHERE id(destination) = $destination_id\n", + " SET destination.mentions = coalesce(destination.mentions, 0) + 1\n", + " WITH destination\n", + " MERGE (source :`genre` {name: $source_name, user_id: $user_id})\n", + " ON CREATE SET\n", + " source.created = timestamp(),\n", + " source.mentions = 1\n", + " \n", + " ON MATCH SET\n", + " source.mentions = coalesce(source.mentions, 0) + 1\n", + " WITH source, destination, $source_embedding as source_embedding\n", + " CALL neptune.algo.vectors.upsert(source, source_embedding)\n", + " WITH source, destination\n", + " MERGE (source)-[r:type_of]->(destination)\n", + " ON CREATE SET \n", + " r.created = timestamp(),\n", + " r.mentions = 1\n", + " ON MATCH SET\n", + " r.mentions = coalesce(r.mentions, 0) + 1\n", + " RETURN source.name AS source, type(r) AS relationship, destination.name AS target\n", + " \n", + "DEBUG - _search_source_node\n", + " query=\n", + " MATCH (source_candidate )\n", + " WHERE source_candidate.user_id = $user_id \n", + "\n", + " WITH source_candidate, $source_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " source_candidate,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH source_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH source_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + "\n", + " RETURN id(source_candidate), cosine_similarity\n", + " \n", + "DEBUG - _search_destination_node\n", + " query=\n", + " MATCH (destination_candidate )\n", + " WHERE destination_candidate.user_id = $user_id\n", + " \n", + " WITH destination_candidate, $destination_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " destination_candidate, \n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH destination_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH destination_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + " \n", + " RETURN id(destination_candidate), cosine_similarity\n", + " \n", + "DEBUG - _add_entities:\n", + " destination_node_search_result=[]\n", + " source_node_search_result=[{'id(source_candidate)': '168e2473-63ca-4177-b50f-0d281d54b75d0', 'cosine_similarity': 0.9449627}]\n", + " query=\n", + " MATCH (source)\n", + " WHERE id(source) = $source_id\n", + " SET source.mentions = coalesce(source.mentions, 0) + 1\n", + " WITH source\n", + " MERGE (destination :`__User__` {name: $destination_name, user_id: $user_id})\n", + " ON CREATE SET\n", + " destination.created = timestamp(),\n", + " destination.mentions = 1\n", + " \n", + " ON MATCH SET\n", + " destination.mentions = coalesce(destination.mentions, 0) + 1\n", + " WITH source, destination, $dest_embedding as dest_embedding\n", + " CALL neptune.algo.vectors.upsert(destination, dest_embedding)\n", + " WITH source, destination\n", + " MERGE (source)-[r:can_be]->(destination)\n", + " ON CREATE SET \n", + " r.created = timestamp(),\n", + " r.mentions = 1\n", + " ON MATCH SET\n", + " r.mentions = coalesce(r.mentions, 0) + 1\n", + " RETURN source.name AS source, type(r) AS relationship, destination.name AS target\n", + " \n", + "DEBUG - Retrieved 3 relationships\n", + "node \"Planning to watch a movie tonight\": [hash: bf55418607cfdca4afa311b5fd8496bd]\n", + "edge \"alice\" --plans_to_watch--> \"movie\"\n", + "edge \"thriller\" --type_of--> \"movie\"\n", + "edge \"movie\" --can_be--> \"engaging\"\n" + ] + } + ], + "execution_count": 6 }, { - "cell_type": "code", "metadata": {}, + "cell_type": "markdown", + "source": [ + "### Graph Explorer Visualization Example\n", + "\n", + "_Note that the visualization given below represents only a single example of the possible results generated by the LLM._\n", + "\n", + "Visualization for the relationship:\n", + "```\n", + "\"alice\" --plans_to_watch--> \"movie\"\n", + "\"thriller\" --type_of--> \"movie\"\n", + "\"movie\" --can_be--> \"engaging\"\n", + "```\n", + "\n", + "![neptune-example-visualization-2.png](./neptune-example-visualization-2.png)" + ] + }, + { + "cell_type": "code", + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-07T16:53:13.244891Z", + "start_time": "2025-08-07T16:52:57.240405Z" + } + }, "source": [ "messages = [\n", " {\n", @@ -281,12 +711,265 @@ "for e in all_results[\"relations\"]:\n", " print(f\"edge \\\"{e['source']}\\\" --{e['relationship']}--> \\\"{e['target']}\\\"\")" ], - "outputs": [], - "execution_count": null + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DEBUG - Extracted entities: [{'source': 'alice', 'relationship': 'dislikes', 'destination': 'thriller_movies'}, {'source': 'alice', 'relationship': 'loves', 'destination': 'sci-fi_movies'}]\n", + "DEBUG - _search_graph_db\n", + " query=\n", + " MATCH (n )\n", + " WHERE n.user_id = $user_id\n", + " WITH n, $n_embedding as n_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " n_embedding,\n", + " n,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH n, distance as similarity\n", + " WHERE similarity >= $threshold\n", + " CALL {\n", + " WITH n\n", + " MATCH (n)-[r]->(m) \n", + " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", + " UNION ALL\n", + " WITH n\n", + " MATCH (m)-[r]->(n) \n", + " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", + " }\n", + " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " ORDER BY similarity DESC\n", + " LIMIT $limit\n", + " \n", + "DEBUG - _search_graph_db\n", + " query=\n", + " MATCH (n )\n", + " WHERE n.user_id = $user_id\n", + " WITH n, $n_embedding as n_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " n_embedding,\n", + " n,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH n, distance as similarity\n", + " WHERE similarity >= $threshold\n", + " CALL {\n", + " WITH n\n", + " MATCH (n)-[r]->(m) \n", + " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", + " UNION ALL\n", + " WITH n\n", + " MATCH (m)-[r]->(n) \n", + " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", + " }\n", + " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " ORDER BY similarity DESC\n", + " LIMIT $limit\n", + " \n", + "DEBUG - _search_graph_db\n", + " query=\n", + " MATCH (n )\n", + " WHERE n.user_id = $user_id\n", + " WITH n, $n_embedding as n_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " n_embedding,\n", + " n,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH n, distance as similarity\n", + " WHERE similarity >= $threshold\n", + " CALL {\n", + " WITH n\n", + " MATCH (n)-[r]->(m) \n", + " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", + " UNION ALL\n", + " WITH n\n", + " MATCH (m)-[r]->(n) \n", + " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", + " }\n", + " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " ORDER BY similarity DESC\n", + " LIMIT $limit\n", + " \n", + "DEBUG - Deleted relationships: []\n", + "DEBUG - _search_source_node\n", + " query=\n", + " MATCH (source_candidate )\n", + " WHERE source_candidate.user_id = $user_id \n", + "\n", + " WITH source_candidate, $source_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " source_candidate,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH source_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH source_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + "\n", + " RETURN id(source_candidate), cosine_similarity\n", + " \n", + "DEBUG - _search_destination_node\n", + " query=\n", + " MATCH (destination_candidate )\n", + " WHERE destination_candidate.user_id = $user_id\n", + " \n", + " WITH destination_candidate, $destination_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " destination_candidate, \n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH destination_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH destination_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + " \n", + " RETURN id(destination_candidate), cosine_similarity\n", + " \n", + "DEBUG - _add_entities:\n", + " destination_node_search_result=[]\n", + " source_node_search_result=[{'id(source_candidate)': '6e1efc69-5267-45b0-993d-b9809a88b1c60', 'cosine_similarity': 0.9999999}]\n", + " query=\n", + " MATCH (source)\n", + " WHERE id(source) = $source_id\n", + " SET source.mentions = coalesce(source.mentions, 0) + 1\n", + " WITH source\n", + " MERGE (destination :`movie_genre` {name: $destination_name, user_id: $user_id})\n", + " ON CREATE SET\n", + " destination.created = timestamp(),\n", + " destination.mentions = 1\n", + " \n", + " ON MATCH SET\n", + " destination.mentions = coalesce(destination.mentions, 0) + 1\n", + " WITH source, destination, $dest_embedding as dest_embedding\n", + " CALL neptune.algo.vectors.upsert(destination, dest_embedding)\n", + " WITH source, destination\n", + " MERGE (source)-[r:dislikes]->(destination)\n", + " ON CREATE SET \n", + " r.created = timestamp(),\n", + " r.mentions = 1\n", + " ON MATCH SET\n", + " r.mentions = coalesce(r.mentions, 0) + 1\n", + " RETURN source.name AS source, type(r) AS relationship, destination.name AS target\n", + " \n", + "DEBUG - _search_source_node\n", + " query=\n", + " MATCH (source_candidate )\n", + " WHERE source_candidate.user_id = $user_id \n", + "\n", + " WITH source_candidate, $source_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " source_candidate,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH source_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH source_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + "\n", + " RETURN id(source_candidate), cosine_similarity\n", + " \n", + "DEBUG - _search_destination_node\n", + " query=\n", + " MATCH (destination_candidate )\n", + " WHERE destination_candidate.user_id = $user_id\n", + " \n", + " WITH destination_candidate, $destination_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " destination_candidate, \n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH destination_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH destination_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + " \n", + " RETURN id(destination_candidate), cosine_similarity\n", + " \n", + "DEBUG - _add_entities:\n", + " destination_node_search_result=[]\n", + " source_node_search_result=[{'id(source_candidate)': '6e1efc69-5267-45b0-993d-b9809a88b1c60', 'cosine_similarity': 0.9999999}]\n", + " query=\n", + " MATCH (source)\n", + " WHERE id(source) = $source_id\n", + " SET source.mentions = coalesce(source.mentions, 0) + 1\n", + " WITH source\n", + " MERGE (destination :`movie_genre` {name: $destination_name, user_id: $user_id})\n", + " ON CREATE SET\n", + " destination.created = timestamp(),\n", + " destination.mentions = 1\n", + " \n", + " ON MATCH SET\n", + " destination.mentions = coalesce(destination.mentions, 0) + 1\n", + " WITH source, destination, $dest_embedding as dest_embedding\n", + " CALL neptune.algo.vectors.upsert(destination, dest_embedding)\n", + " WITH source, destination\n", + " MERGE (source)-[r:loves]->(destination)\n", + " ON CREATE SET \n", + " r.created = timestamp(),\n", + " r.mentions = 1\n", + " ON MATCH SET\n", + " r.mentions = coalesce(r.mentions, 0) + 1\n", + " RETURN source.name AS source, type(r) AS relationship, destination.name AS target\n", + " \n", + "DEBUG - Retrieved 5 relationships\n", + "node \"Not a big fan of thriller movies\": [hash: 028dfab4483f28980e292f62578d3293]\n", + "node \"Planning to watch a movie tonight\": [hash: bf55418607cfdca4afa311b5fd8496bd]\n", + "node \"Loves sci-fi movies\": [hash: 1110b1af77367917ea2022355a16f187]\n", + "edge \"alice\" --dislikes--> \"thriller_movies\"\n", + "edge \"alice\" --loves--> \"sci-fi_movies\"\n", + "edge \"alice\" --plans_to_watch--> \"movie\"\n", + "edge \"thriller\" --type_of--> \"movie\"\n", + "edge \"movie\" --can_be--> \"engaging\"\n" + ] + } + ], + "execution_count": 7 }, { - "cell_type": "code", "metadata": {}, + "cell_type": "markdown", + "source": [ + "### Graph Explorer Visualization Example\n", + "\n", + "_Note that the visualization given below represents only a single example of the possible results generated by the LLM._\n", + "\n", + "Visualization for the relationship:\n", + "```\n", + "\"alice\" --dislikes--> \"thriller_movies\"\n", + "\"alice\" --loves--> \"sci-fi_movies\"\n", + "\"alice\" --plans_to_watch--> \"movie\"\n", + "\"thriller\" --type_of--> \"movie\"\n", + "\"movie\" --can_be--> \"engaging\"\n", + "```\n", + "\n", + "![neptune-example-visualization-3.png](./neptune-example-visualization-3.png)" + ] + }, + { + "cell_type": "code", + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-07T16:58:14.748894Z", + "start_time": "2025-08-07T16:57:57.469277Z" + } + }, "source": [ "messages = [\n", " {\n", @@ -305,8 +988,340 @@ "for e in all_results[\"relations\"]:\n", " print(f\"edge \\\"{e['source']}\\\" --{e['relationship']}--> \\\"{e['target']}\\\"\")" ], - "outputs": [], - "execution_count": null + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DEBUG - Extracted entities: [{'source': 'alice', 'relationship': 'avoids', 'destination': 'thriller'}, {'source': 'alice', 'relationship': 'recommends', 'destination': 'sci-fi'}, {'source': 'sci-fi', 'relationship': 'type_of', 'destination': 'movies'}]\n", + "DEBUG - _search_graph_db\n", + " query=\n", + " MATCH (n )\n", + " WHERE n.user_id = $user_id\n", + " WITH n, $n_embedding as n_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " n_embedding,\n", + " n,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH n, distance as similarity\n", + " WHERE similarity >= $threshold\n", + " CALL {\n", + " WITH n\n", + " MATCH (n)-[r]->(m) \n", + " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", + " UNION ALL\n", + " WITH n\n", + " MATCH (m)-[r]->(n) \n", + " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", + " }\n", + " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " ORDER BY similarity DESC\n", + " LIMIT $limit\n", + " \n", + "DEBUG - _search_graph_db\n", + " query=\n", + " MATCH (n )\n", + " WHERE n.user_id = $user_id\n", + " WITH n, $n_embedding as n_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " n_embedding,\n", + " n,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH n, distance as similarity\n", + " WHERE similarity >= $threshold\n", + " CALL {\n", + " WITH n\n", + " MATCH (n)-[r]->(m) \n", + " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", + " UNION ALL\n", + " WITH n\n", + " MATCH (m)-[r]->(n) \n", + " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", + " }\n", + " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " ORDER BY similarity DESC\n", + " LIMIT $limit\n", + " \n", + "DEBUG - _search_graph_db\n", + " query=\n", + " MATCH (n )\n", + " WHERE n.user_id = $user_id\n", + " WITH n, $n_embedding as n_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " n_embedding,\n", + " n,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH n, distance as similarity\n", + " WHERE similarity >= $threshold\n", + " CALL {\n", + " WITH n\n", + " MATCH (n)-[r]->(m) \n", + " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", + " UNION ALL\n", + " WITH n\n", + " MATCH (m)-[r]->(n) \n", + " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", + " }\n", + " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " ORDER BY similarity DESC\n", + " LIMIT $limit\n", + " \n", + "DEBUG - _search_graph_db\n", + " query=\n", + " MATCH (n )\n", + " WHERE n.user_id = $user_id\n", + " WITH n, $n_embedding as n_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " n_embedding,\n", + " n,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH n, distance as similarity\n", + " WHERE similarity >= $threshold\n", + " CALL {\n", + " WITH n\n", + " MATCH (n)-[r]->(m) \n", + " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", + " UNION ALL\n", + " WITH n\n", + " MATCH (m)-[r]->(n) \n", + " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", + " }\n", + " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " ORDER BY similarity DESC\n", + " LIMIT $limit\n", + " \n", + "DEBUG - Deleted relationships: []\n", + "DEBUG - _search_source_node\n", + " query=\n", + " MATCH (source_candidate )\n", + " WHERE source_candidate.user_id = $user_id \n", + "\n", + " WITH source_candidate, $source_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " source_candidate,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH source_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH source_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + "\n", + " RETURN id(source_candidate), cosine_similarity\n", + " \n", + "DEBUG - _search_destination_node\n", + " query=\n", + " MATCH (destination_candidate )\n", + " WHERE destination_candidate.user_id = $user_id\n", + " \n", + " WITH destination_candidate, $destination_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " destination_candidate, \n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH destination_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH destination_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + " \n", + " RETURN id(destination_candidate), cosine_similarity\n", + " \n", + "DEBUG - _add_entities:\n", + " destination_node_search_result=[{'id(destination_candidate)': 'fdfb732d-4f99-4bf4-8bc8-9c32a874ff2a0', 'cosine_similarity': 0.9999999}]\n", + " source_node_search_result=[{'id(source_candidate)': '6e1efc69-5267-45b0-993d-b9809a88b1c60', 'cosine_similarity': 0.9999999}]\n", + " query=\n", + " MATCH (source)\n", + " WHERE id(source) = $source_id\n", + " SET source.mentions = coalesce(source.mentions, 0) + 1\n", + " WITH source\n", + " MATCH (destination)\n", + " WHERE id(destination) = $destination_id\n", + " SET destination.mentions = coalesce(destination.mentions) + 1\n", + " MERGE (source)-[r:avoids]->(destination)\n", + " ON CREATE SET \n", + " r.created_at = timestamp(),\n", + " r.updated_at = timestamp(),\n", + " r.mentions = 1\n", + " ON MATCH SET r.mentions = coalesce(r.mentions, 0) + 1\n", + " RETURN source.name AS source, type(r) AS relationship, destination.name AS target\n", + " \n", + "DEBUG - _search_source_node\n", + " query=\n", + " MATCH (source_candidate )\n", + " WHERE source_candidate.user_id = $user_id \n", + "\n", + " WITH source_candidate, $source_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " source_candidate,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH source_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH source_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + "\n", + " RETURN id(source_candidate), cosine_similarity\n", + " \n", + "DEBUG - _search_destination_node\n", + " query=\n", + " MATCH (destination_candidate )\n", + " WHERE destination_candidate.user_id = $user_id\n", + " \n", + " WITH destination_candidate, $destination_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " destination_candidate, \n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH destination_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH destination_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + " \n", + " RETURN id(destination_candidate), cosine_similarity\n", + " \n", + "DEBUG - _add_entities:\n", + " destination_node_search_result=[]\n", + " source_node_search_result=[{'id(source_candidate)': '6e1efc69-5267-45b0-993d-b9809a88b1c60', 'cosine_similarity': 0.9999999}]\n", + " query=\n", + " MATCH (source)\n", + " WHERE id(source) = $source_id\n", + " SET source.mentions = coalesce(source.mentions, 0) + 1\n", + " WITH source\n", + " MERGE (destination :`genre` {name: $destination_name, user_id: $user_id})\n", + " ON CREATE SET\n", + " destination.created = timestamp(),\n", + " destination.mentions = 1\n", + " \n", + " ON MATCH SET\n", + " destination.mentions = coalesce(destination.mentions, 0) + 1\n", + " WITH source, destination, $dest_embedding as dest_embedding\n", + " CALL neptune.algo.vectors.upsert(destination, dest_embedding)\n", + " WITH source, destination\n", + " MERGE (source)-[r:recommends]->(destination)\n", + " ON CREATE SET \n", + " r.created = timestamp(),\n", + " r.mentions = 1\n", + " ON MATCH SET\n", + " r.mentions = coalesce(r.mentions, 0) + 1\n", + " RETURN source.name AS source, type(r) AS relationship, destination.name AS target\n", + " \n", + "DEBUG - _search_source_node\n", + " query=\n", + " MATCH (source_candidate )\n", + " WHERE source_candidate.user_id = $user_id \n", + "\n", + " WITH source_candidate, $source_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " source_candidate,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH source_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH source_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + "\n", + " RETURN id(source_candidate), cosine_similarity\n", + " \n", + "DEBUG - _search_destination_node\n", + " query=\n", + " MATCH (destination_candidate )\n", + " WHERE destination_candidate.user_id = $user_id\n", + " \n", + " WITH destination_candidate, $destination_embedding as v_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " v_embedding,\n", + " destination_candidate, \n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH destination_candidate, distance AS cosine_similarity\n", + " WHERE cosine_similarity >= $threshold\n", + "\n", + " WITH destination_candidate, cosine_similarity\n", + " ORDER BY cosine_similarity DESC\n", + " LIMIT 1\n", + " \n", + " RETURN id(destination_candidate), cosine_similarity\n", + " \n", + "DEBUG - _add_entities:\n", + " destination_node_search_result=[{'id(destination_candidate)': '168e2473-63ca-4177-b50f-0d281d54b75d0', 'cosine_similarity': 0.9449627}]\n", + " source_node_search_result=[{'id(source_candidate)': 'c56a97ac-1dbc-4146-8f2a-f21ae0631d1e0', 'cosine_similarity': 1}]\n", + " query=\n", + " MATCH (source)\n", + " WHERE id(source) = $source_id\n", + " SET source.mentions = coalesce(source.mentions, 0) + 1\n", + " WITH source\n", + " MATCH (destination)\n", + " WHERE id(destination) = $destination_id\n", + " SET destination.mentions = coalesce(destination.mentions) + 1\n", + " MERGE (source)-[r:type_of]->(destination)\n", + " ON CREATE SET \n", + " r.created_at = timestamp(),\n", + " r.updated_at = timestamp(),\n", + " r.mentions = 1\n", + " ON MATCH SET r.mentions = coalesce(r.mentions, 0) + 1\n", + " RETURN source.name AS source, type(r) AS relationship, destination.name AS target\n", + " \n", + "DEBUG - Retrieved 8 relationships\n", + "node \"Not a big fan of thriller movies\": [hash: 028dfab4483f28980e292f62578d3293]\n", + "node \"Planning to watch a movie tonight\": [hash: bf55418607cfdca4afa311b5fd8496bd]\n", + "node \"Loves sci-fi movies\": [hash: 1110b1af77367917ea2022355a16f187]\n", + "edge \"alice\" --recommends--> \"sci-fi\"\n", + "edge \"alice\" --dislikes--> \"thriller_movies\"\n", + "edge \"alice\" --loves--> \"sci-fi_movies\"\n", + "edge \"alice\" --plans_to_watch--> \"movie\"\n", + "edge \"alice\" --avoids--> \"thriller\"\n", + "edge \"thriller\" --type_of--> \"movie\"\n", + "edge \"movie\" --can_be--> \"engaging\"\n", + "edge \"sci-fi\" --type_of--> \"movie\"\n" + ] + } + ], + "execution_count": 8 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "### Graph Explorer Visualization Example\n", + "\n", + "_Note that the visualization given below represents only a single example of the possible results generated by the LLM._\n", + "\n", + "Visualization for the relationship:\n", + "```\n", + "\"alice\" --recommends--> \"sci-fi\"\n", + "\"alice\" --dislikes--> \"thriller_movies\"\n", + "\"alice\" --loves--> \"sci-fi_movies\"\n", + "\"alice\" --plans_to_watch--> \"movie\"\n", + "\"alice\" --avoids--> \"thriller\"\n", + "\"thriller\" --type_of--> \"movie\"\n", + "\"movie\" --can_be--> \"engaging\"\n", + "\"sci-fi\" --type_of--> \"movie\"\n", + "```\n", + "\n", + "![neptune-example-visualization-4.png](./neptune-example-visualization-4.png)" + ] }, { "cell_type": "markdown", @@ -319,7 +1334,12 @@ }, { "cell_type": "code", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-07T17:03:37.801795Z", + "start_time": "2025-08-07T17:03:34.639396Z" + } + }, "source": [ "search_results = m.search(\"what does alice love?\", user_id=user_id)\n", "for result in search_results[\"results\"]:\n", @@ -327,8 +1347,49 @@ "for relation in search_results[\"relations\"]:\n", " print(f\"{relation}\")" ], - "outputs": [], - "execution_count": null + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DEBUG - _search_graph_db\n", + " query=\n", + " MATCH (n )\n", + " WHERE n.user_id = $user_id\n", + " WITH n, $n_embedding as n_embedding\n", + " CALL neptune.algo.vectors.distanceByEmbedding(\n", + " n_embedding,\n", + " n,\n", + " {metric:\"CosineSimilarity\"}\n", + " ) YIELD distance\n", + " WITH n, distance as similarity\n", + " WHERE similarity >= $threshold\n", + " CALL {\n", + " WITH n\n", + " MATCH (n)-[r]->(m) \n", + " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", + " UNION ALL\n", + " WITH n\n", + " MATCH (m)-[r]->(n) \n", + " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", + " }\n", + " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", + " ORDER BY similarity DESC\n", + " LIMIT $limit\n", + " \n", + "\"Loves sci-fi movies\" [score: 0.6200813]\n", + "\"Not a big fan of thriller movies\" [score: 0.54035205]\n", + "\"Planning to watch a movie tonight\" [score: 0.5394758]\n", + "{'source': 'alice', 'relationship': 'recommends', 'destination': 'sci-fi'}\n", + "{'source': 'alice', 'relationship': 'dislikes', 'destination': 'thriller_movies'}\n", + "{'source': 'alice', 'relationship': 'avoids', 'destination': 'thriller'}\n", + "{'source': 'alice', 'relationship': 'loves', 'destination': 'sci-fi_movies'}\n", + "{'source': 'alice', 'relationship': 'plans_to_watch', 'destination': 'movie'}\n" + ] + } + ], + "execution_count": 9 }, { "cell_type": "code", From f4cfe21006ac639ea9cf90aff800ecab828fb464 Mon Sep 17 00:00:00 2001 From: Andrew Carbonetto Date: Thu, 7 Aug 2025 10:31:14 -0700 Subject: [PATCH 5/5] Clean outputs Signed-off-by: Andrew Carbonetto --- examples/graph-db-demo/neptune-example.ipynb | 1020 +----------------- 1 file changed, 22 insertions(+), 998 deletions(-) diff --git a/examples/graph-db-demo/neptune-example.ipynb b/examples/graph-db-demo/neptune-example.ipynb index d1d2d6d46c..acbbbdc444 100644 --- a/examples/graph-db-demo/neptune-example.ipynb +++ b/examples/graph-db-demo/neptune-example.ipynb @@ -88,12 +88,7 @@ }, { "cell_type": "code", - "metadata": { - "ExecuteTime": { - "end_time": "2025-08-07T16:46:45.860601Z", - "start_time": "2025-08-07T16:46:41.565968Z" - } - }, + "metadata": {}, "source": [ "from mem0 import Memory\n", "import os\n", @@ -117,7 +112,7 @@ ")" ], "outputs": [], - "execution_count": 2 + "execution_count": null }, { "cell_type": "markdown", @@ -131,12 +126,7 @@ }, { "cell_type": "code", - "metadata": { - "ExecuteTime": { - "end_time": "2025-08-07T16:47:21.148793Z", - "start_time": "2025-08-07T16:47:21.112509Z" - } - }, + "metadata": {}, "source": [ "bedrock_embedder_model = \"amazon.titan-embed-text-v2:0\"\n", "bedrock_llm_model = \"us.anthropic.claude-3-7-sonnet-20250219-v1:0\"\n", @@ -188,7 +178,7 @@ "}" ], "outputs": [], - "execution_count": 3 + "execution_count": null }, { "cell_type": "markdown", @@ -201,12 +191,7 @@ }, { "cell_type": "code", - "metadata": { - "ExecuteTime": { - "end_time": "2025-08-07T16:47:28.571594Z", - "start_time": "2025-08-07T16:47:24.518456Z" - } - }, + "metadata": {}, "source": [ "m = Memory.from_config(config_dict=config)\n", "\n", @@ -215,39 +200,8 @@ "\n", "m.delete_all(user_id=user_id)" ], - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/andrewc/git/mem01ai-example/.venv/lib/python3.12/site-packages/botocore/auth.py:422: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n", - " datetime_now = datetime.datetime.utcnow()\n", - "/Users/andrewc/git/mem01ai-example/.venv/lib/python3.12/site-packages/botocore/auth.py:422: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n", - " datetime_now = datetime.datetime.utcnow()\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DEBUG - delete_all query=\n", - " MATCH (n {user_id: $user_id})\n", - " DETACH DELETE n\n", - " \n" - ] - }, - { - "data": { - "text/plain": [ - "{'message': 'Memories deleted successfully!'}" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "execution_count": 4 + "outputs": [], + "execution_count": null }, { "cell_type": "markdown", @@ -260,12 +214,7 @@ }, { "cell_type": "code", - "metadata": { - "ExecuteTime": { - "end_time": "2025-08-07T16:48:31.146522Z", - "start_time": "2025-08-07T16:48:20.053217Z" - } - }, + "metadata": {}, "source": [ "messages = [\n", " {\n", @@ -284,137 +233,8 @@ "for e in all_results[\"relations\"]:\n", " print(f\"edge \\\"{e['source']}\\\" --{e['relationship']}--> \\\"{e['target']}\\\"\")" ], - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DEBUG - Extracted entities: [{'source': 'alice', 'relationship': 'plans_to_watch', 'destination': 'movie'}]\n", - "DEBUG - _search_graph_db\n", - " query=\n", - " MATCH (n )\n", - " WHERE n.user_id = $user_id\n", - " WITH n, $n_embedding as n_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " n_embedding,\n", - " n,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH n, distance as similarity\n", - " WHERE similarity >= $threshold\n", - " CALL {\n", - " WITH n\n", - " MATCH (n)-[r]->(m) \n", - " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", - " UNION ALL\n", - " WITH n\n", - " MATCH (m)-[r]->(n) \n", - " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", - " }\n", - " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " ORDER BY similarity DESC\n", - " LIMIT $limit\n", - " \n", - "DEBUG - _search_graph_db\n", - " query=\n", - " MATCH (n )\n", - " WHERE n.user_id = $user_id\n", - " WITH n, $n_embedding as n_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " n_embedding,\n", - " n,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH n, distance as similarity\n", - " WHERE similarity >= $threshold\n", - " CALL {\n", - " WITH n\n", - " MATCH (n)-[r]->(m) \n", - " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", - " UNION ALL\n", - " WITH n\n", - " MATCH (m)-[r]->(n) \n", - " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", - " }\n", - " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " ORDER BY similarity DESC\n", - " LIMIT $limit\n", - " \n", - "DEBUG - Deleted relationships: []\n", - "DEBUG - _search_source_node\n", - " query=\n", - " MATCH (source_candidate )\n", - " WHERE source_candidate.user_id = $user_id \n", - "\n", - " WITH source_candidate, $source_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " source_candidate,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH source_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH source_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - "\n", - " RETURN id(source_candidate), cosine_similarity\n", - " \n", - "DEBUG - _search_destination_node\n", - " query=\n", - " MATCH (destination_candidate )\n", - " WHERE destination_candidate.user_id = $user_id\n", - " \n", - " WITH destination_candidate, $destination_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " destination_candidate, \n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH destination_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH destination_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - " \n", - " RETURN id(destination_candidate), cosine_similarity\n", - " \n", - "DEBUG - _add_entities:\n", - " destination_node_search_result=[]\n", - " source_node_search_result=[]\n", - " query=\n", - " MERGE (n :`person` {name: $source_name, user_id: $user_id})\n", - " ON CREATE SET n.created = timestamp(),\n", - " n.mentions = 1\n", - " \n", - " ON MATCH SET n.mentions = coalesce(n.mentions, 0) + 1\n", - " WITH n, $source_embedding as source_embedding\n", - " CALL neptune.algo.vectors.upsert(n, source_embedding)\n", - " WITH n\n", - " MERGE (m :`entertainment` {name: $dest_name, user_id: $user_id})\n", - " ON CREATE SET m.created = timestamp(),\n", - " m.mentions = 1\n", - " \n", - " ON MATCH SET m.mentions = coalesce(m.mentions, 0) + 1\n", - " WITH n, m, $dest_embedding as dest_embedding\n", - " CALL neptune.algo.vectors.upsert(m, dest_embedding)\n", - " WITH n, m\n", - " MERGE (n)-[rel:plans_to_watch]->(m)\n", - " ON CREATE SET rel.created = timestamp(), rel.mentions = 1\n", - " ON MATCH SET rel.mentions = coalesce(rel.mentions, 0) + 1\n", - " RETURN n.name AS source, type(rel) AS relationship, m.name AS target\n", - " \n", - "DEBUG - Retrieved 1 relationships\n", - "node \"Planning to watch a movie tonight\": [hash: bf55418607cfdca4afa311b5fd8496bd]\n", - "edge \"alice\" --plans_to_watch--> \"movie\"\n" - ] - } - ], - "execution_count": 5 + "outputs": [], + "execution_count": null }, { "metadata": {}, @@ -442,12 +262,7 @@ }, { "cell_type": "code", - "metadata": { - "ExecuteTime": { - "end_time": "2025-08-07T16:52:34.420084Z", - "start_time": "2025-08-07T16:52:19.535408Z" - } - }, + "metadata": {}, "source": [ "messages = [\n", " {\n", @@ -466,206 +281,8 @@ "for e in all_results[\"relations\"]:\n", " print(f\"edge \\\"{e['source']}\\\" --{e['relationship']}--> \\\"{e['target']}\\\"\")" ], - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DEBUG - Extracted entities: [{'source': 'thriller', 'relationship': 'type_of', 'destination': 'movies'}, {'source': 'movies', 'relationship': 'can_be', 'destination': 'engaging'}]\n", - "DEBUG - _search_graph_db\n", - " query=\n", - " MATCH (n )\n", - " WHERE n.user_id = $user_id\n", - " WITH n, $n_embedding as n_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " n_embedding,\n", - " n,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH n, distance as similarity\n", - " WHERE similarity >= $threshold\n", - " CALL {\n", - " WITH n\n", - " MATCH (n)-[r]->(m) \n", - " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", - " UNION ALL\n", - " WITH n\n", - " MATCH (m)-[r]->(n) \n", - " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", - " }\n", - " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " ORDER BY similarity DESC\n", - " LIMIT $limit\n", - " \n", - "DEBUG - _search_graph_db\n", - " query=\n", - " MATCH (n )\n", - " WHERE n.user_id = $user_id\n", - " WITH n, $n_embedding as n_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " n_embedding,\n", - " n,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH n, distance as similarity\n", - " WHERE similarity >= $threshold\n", - " CALL {\n", - " WITH n\n", - " MATCH (n)-[r]->(m) \n", - " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", - " UNION ALL\n", - " WITH n\n", - " MATCH (m)-[r]->(n) \n", - " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", - " }\n", - " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " ORDER BY similarity DESC\n", - " LIMIT $limit\n", - " \n", - "DEBUG - Deleted relationships: []\n", - "DEBUG - _search_source_node\n", - " query=\n", - " MATCH (source_candidate )\n", - " WHERE source_candidate.user_id = $user_id \n", - "\n", - " WITH source_candidate, $source_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " source_candidate,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH source_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH source_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - "\n", - " RETURN id(source_candidate), cosine_similarity\n", - " \n", - "DEBUG - _search_destination_node\n", - " query=\n", - " MATCH (destination_candidate )\n", - " WHERE destination_candidate.user_id = $user_id\n", - " \n", - " WITH destination_candidate, $destination_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " destination_candidate, \n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH destination_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH destination_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - " \n", - " RETURN id(destination_candidate), cosine_similarity\n", - " \n", - "DEBUG - _add_entities:\n", - " destination_node_search_result=[{'id(destination_candidate)': '168e2473-63ca-4177-b50f-0d281d54b75d0', 'cosine_similarity': 0.9449627}]\n", - " source_node_search_result=[]\n", - " query=\n", - " MATCH (destination)\n", - " WHERE id(destination) = $destination_id\n", - " SET destination.mentions = coalesce(destination.mentions, 0) + 1\n", - " WITH destination\n", - " MERGE (source :`genre` {name: $source_name, user_id: $user_id})\n", - " ON CREATE SET\n", - " source.created = timestamp(),\n", - " source.mentions = 1\n", - " \n", - " ON MATCH SET\n", - " source.mentions = coalesce(source.mentions, 0) + 1\n", - " WITH source, destination, $source_embedding as source_embedding\n", - " CALL neptune.algo.vectors.upsert(source, source_embedding)\n", - " WITH source, destination\n", - " MERGE (source)-[r:type_of]->(destination)\n", - " ON CREATE SET \n", - " r.created = timestamp(),\n", - " r.mentions = 1\n", - " ON MATCH SET\n", - " r.mentions = coalesce(r.mentions, 0) + 1\n", - " RETURN source.name AS source, type(r) AS relationship, destination.name AS target\n", - " \n", - "DEBUG - _search_source_node\n", - " query=\n", - " MATCH (source_candidate )\n", - " WHERE source_candidate.user_id = $user_id \n", - "\n", - " WITH source_candidate, $source_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " source_candidate,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH source_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH source_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - "\n", - " RETURN id(source_candidate), cosine_similarity\n", - " \n", - "DEBUG - _search_destination_node\n", - " query=\n", - " MATCH (destination_candidate )\n", - " WHERE destination_candidate.user_id = $user_id\n", - " \n", - " WITH destination_candidate, $destination_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " destination_candidate, \n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH destination_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH destination_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - " \n", - " RETURN id(destination_candidate), cosine_similarity\n", - " \n", - "DEBUG - _add_entities:\n", - " destination_node_search_result=[]\n", - " source_node_search_result=[{'id(source_candidate)': '168e2473-63ca-4177-b50f-0d281d54b75d0', 'cosine_similarity': 0.9449627}]\n", - " query=\n", - " MATCH (source)\n", - " WHERE id(source) = $source_id\n", - " SET source.mentions = coalesce(source.mentions, 0) + 1\n", - " WITH source\n", - " MERGE (destination :`__User__` {name: $destination_name, user_id: $user_id})\n", - " ON CREATE SET\n", - " destination.created = timestamp(),\n", - " destination.mentions = 1\n", - " \n", - " ON MATCH SET\n", - " destination.mentions = coalesce(destination.mentions, 0) + 1\n", - " WITH source, destination, $dest_embedding as dest_embedding\n", - " CALL neptune.algo.vectors.upsert(destination, dest_embedding)\n", - " WITH source, destination\n", - " MERGE (source)-[r:can_be]->(destination)\n", - " ON CREATE SET \n", - " r.created = timestamp(),\n", - " r.mentions = 1\n", - " ON MATCH SET\n", - " r.mentions = coalesce(r.mentions, 0) + 1\n", - " RETURN source.name AS source, type(r) AS relationship, destination.name AS target\n", - " \n", - "DEBUG - Retrieved 3 relationships\n", - "node \"Planning to watch a movie tonight\": [hash: bf55418607cfdca4afa311b5fd8496bd]\n", - "edge \"alice\" --plans_to_watch--> \"movie\"\n", - "edge \"thriller\" --type_of--> \"movie\"\n", - "edge \"movie\" --can_be--> \"engaging\"\n" - ] - } - ], - "execution_count": 6 + "outputs": [], + "execution_count": null }, { "metadata": {}, @@ -687,12 +304,7 @@ }, { "cell_type": "code", - "metadata": { - "ExecuteTime": { - "end_time": "2025-08-07T16:53:13.244891Z", - "start_time": "2025-08-07T16:52:57.240405Z" - } - }, + "metadata": {}, "source": [ "messages = [\n", " {\n", @@ -711,236 +323,8 @@ "for e in all_results[\"relations\"]:\n", " print(f\"edge \\\"{e['source']}\\\" --{e['relationship']}--> \\\"{e['target']}\\\"\")" ], - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DEBUG - Extracted entities: [{'source': 'alice', 'relationship': 'dislikes', 'destination': 'thriller_movies'}, {'source': 'alice', 'relationship': 'loves', 'destination': 'sci-fi_movies'}]\n", - "DEBUG - _search_graph_db\n", - " query=\n", - " MATCH (n )\n", - " WHERE n.user_id = $user_id\n", - " WITH n, $n_embedding as n_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " n_embedding,\n", - " n,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH n, distance as similarity\n", - " WHERE similarity >= $threshold\n", - " CALL {\n", - " WITH n\n", - " MATCH (n)-[r]->(m) \n", - " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", - " UNION ALL\n", - " WITH n\n", - " MATCH (m)-[r]->(n) \n", - " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", - " }\n", - " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " ORDER BY similarity DESC\n", - " LIMIT $limit\n", - " \n", - "DEBUG - _search_graph_db\n", - " query=\n", - " MATCH (n )\n", - " WHERE n.user_id = $user_id\n", - " WITH n, $n_embedding as n_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " n_embedding,\n", - " n,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH n, distance as similarity\n", - " WHERE similarity >= $threshold\n", - " CALL {\n", - " WITH n\n", - " MATCH (n)-[r]->(m) \n", - " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", - " UNION ALL\n", - " WITH n\n", - " MATCH (m)-[r]->(n) \n", - " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", - " }\n", - " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " ORDER BY similarity DESC\n", - " LIMIT $limit\n", - " \n", - "DEBUG - _search_graph_db\n", - " query=\n", - " MATCH (n )\n", - " WHERE n.user_id = $user_id\n", - " WITH n, $n_embedding as n_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " n_embedding,\n", - " n,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH n, distance as similarity\n", - " WHERE similarity >= $threshold\n", - " CALL {\n", - " WITH n\n", - " MATCH (n)-[r]->(m) \n", - " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", - " UNION ALL\n", - " WITH n\n", - " MATCH (m)-[r]->(n) \n", - " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", - " }\n", - " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " ORDER BY similarity DESC\n", - " LIMIT $limit\n", - " \n", - "DEBUG - Deleted relationships: []\n", - "DEBUG - _search_source_node\n", - " query=\n", - " MATCH (source_candidate )\n", - " WHERE source_candidate.user_id = $user_id \n", - "\n", - " WITH source_candidate, $source_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " source_candidate,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH source_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH source_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - "\n", - " RETURN id(source_candidate), cosine_similarity\n", - " \n", - "DEBUG - _search_destination_node\n", - " query=\n", - " MATCH (destination_candidate )\n", - " WHERE destination_candidate.user_id = $user_id\n", - " \n", - " WITH destination_candidate, $destination_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " destination_candidate, \n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH destination_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH destination_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - " \n", - " RETURN id(destination_candidate), cosine_similarity\n", - " \n", - "DEBUG - _add_entities:\n", - " destination_node_search_result=[]\n", - " source_node_search_result=[{'id(source_candidate)': '6e1efc69-5267-45b0-993d-b9809a88b1c60', 'cosine_similarity': 0.9999999}]\n", - " query=\n", - " MATCH (source)\n", - " WHERE id(source) = $source_id\n", - " SET source.mentions = coalesce(source.mentions, 0) + 1\n", - " WITH source\n", - " MERGE (destination :`movie_genre` {name: $destination_name, user_id: $user_id})\n", - " ON CREATE SET\n", - " destination.created = timestamp(),\n", - " destination.mentions = 1\n", - " \n", - " ON MATCH SET\n", - " destination.mentions = coalesce(destination.mentions, 0) + 1\n", - " WITH source, destination, $dest_embedding as dest_embedding\n", - " CALL neptune.algo.vectors.upsert(destination, dest_embedding)\n", - " WITH source, destination\n", - " MERGE (source)-[r:dislikes]->(destination)\n", - " ON CREATE SET \n", - " r.created = timestamp(),\n", - " r.mentions = 1\n", - " ON MATCH SET\n", - " r.mentions = coalesce(r.mentions, 0) + 1\n", - " RETURN source.name AS source, type(r) AS relationship, destination.name AS target\n", - " \n", - "DEBUG - _search_source_node\n", - " query=\n", - " MATCH (source_candidate )\n", - " WHERE source_candidate.user_id = $user_id \n", - "\n", - " WITH source_candidate, $source_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " source_candidate,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH source_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH source_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - "\n", - " RETURN id(source_candidate), cosine_similarity\n", - " \n", - "DEBUG - _search_destination_node\n", - " query=\n", - " MATCH (destination_candidate )\n", - " WHERE destination_candidate.user_id = $user_id\n", - " \n", - " WITH destination_candidate, $destination_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " destination_candidate, \n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH destination_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH destination_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - " \n", - " RETURN id(destination_candidate), cosine_similarity\n", - " \n", - "DEBUG - _add_entities:\n", - " destination_node_search_result=[]\n", - " source_node_search_result=[{'id(source_candidate)': '6e1efc69-5267-45b0-993d-b9809a88b1c60', 'cosine_similarity': 0.9999999}]\n", - " query=\n", - " MATCH (source)\n", - " WHERE id(source) = $source_id\n", - " SET source.mentions = coalesce(source.mentions, 0) + 1\n", - " WITH source\n", - " MERGE (destination :`movie_genre` {name: $destination_name, user_id: $user_id})\n", - " ON CREATE SET\n", - " destination.created = timestamp(),\n", - " destination.mentions = 1\n", - " \n", - " ON MATCH SET\n", - " destination.mentions = coalesce(destination.mentions, 0) + 1\n", - " WITH source, destination, $dest_embedding as dest_embedding\n", - " CALL neptune.algo.vectors.upsert(destination, dest_embedding)\n", - " WITH source, destination\n", - " MERGE (source)-[r:loves]->(destination)\n", - " ON CREATE SET \n", - " r.created = timestamp(),\n", - " r.mentions = 1\n", - " ON MATCH SET\n", - " r.mentions = coalesce(r.mentions, 0) + 1\n", - " RETURN source.name AS source, type(r) AS relationship, destination.name AS target\n", - " \n", - "DEBUG - Retrieved 5 relationships\n", - "node \"Not a big fan of thriller movies\": [hash: 028dfab4483f28980e292f62578d3293]\n", - "node \"Planning to watch a movie tonight\": [hash: bf55418607cfdca4afa311b5fd8496bd]\n", - "node \"Loves sci-fi movies\": [hash: 1110b1af77367917ea2022355a16f187]\n", - "edge \"alice\" --dislikes--> \"thriller_movies\"\n", - "edge \"alice\" --loves--> \"sci-fi_movies\"\n", - "edge \"alice\" --plans_to_watch--> \"movie\"\n", - "edge \"thriller\" --type_of--> \"movie\"\n", - "edge \"movie\" --can_be--> \"engaging\"\n" - ] - } - ], - "execution_count": 7 + "outputs": [], + "execution_count": null }, { "metadata": {}, @@ -964,12 +348,7 @@ }, { "cell_type": "code", - "metadata": { - "ExecuteTime": { - "end_time": "2025-08-07T16:58:14.748894Z", - "start_time": "2025-08-07T16:57:57.469277Z" - } - }, + "metadata": {}, "source": [ "messages = [\n", " {\n", @@ -988,317 +367,8 @@ "for e in all_results[\"relations\"]:\n", " print(f\"edge \\\"{e['source']}\\\" --{e['relationship']}--> \\\"{e['target']}\\\"\")" ], - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DEBUG - Extracted entities: [{'source': 'alice', 'relationship': 'avoids', 'destination': 'thriller'}, {'source': 'alice', 'relationship': 'recommends', 'destination': 'sci-fi'}, {'source': 'sci-fi', 'relationship': 'type_of', 'destination': 'movies'}]\n", - "DEBUG - _search_graph_db\n", - " query=\n", - " MATCH (n )\n", - " WHERE n.user_id = $user_id\n", - " WITH n, $n_embedding as n_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " n_embedding,\n", - " n,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH n, distance as similarity\n", - " WHERE similarity >= $threshold\n", - " CALL {\n", - " WITH n\n", - " MATCH (n)-[r]->(m) \n", - " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", - " UNION ALL\n", - " WITH n\n", - " MATCH (m)-[r]->(n) \n", - " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", - " }\n", - " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " ORDER BY similarity DESC\n", - " LIMIT $limit\n", - " \n", - "DEBUG - _search_graph_db\n", - " query=\n", - " MATCH (n )\n", - " WHERE n.user_id = $user_id\n", - " WITH n, $n_embedding as n_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " n_embedding,\n", - " n,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH n, distance as similarity\n", - " WHERE similarity >= $threshold\n", - " CALL {\n", - " WITH n\n", - " MATCH (n)-[r]->(m) \n", - " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", - " UNION ALL\n", - " WITH n\n", - " MATCH (m)-[r]->(n) \n", - " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", - " }\n", - " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " ORDER BY similarity DESC\n", - " LIMIT $limit\n", - " \n", - "DEBUG - _search_graph_db\n", - " query=\n", - " MATCH (n )\n", - " WHERE n.user_id = $user_id\n", - " WITH n, $n_embedding as n_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " n_embedding,\n", - " n,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH n, distance as similarity\n", - " WHERE similarity >= $threshold\n", - " CALL {\n", - " WITH n\n", - " MATCH (n)-[r]->(m) \n", - " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", - " UNION ALL\n", - " WITH n\n", - " MATCH (m)-[r]->(n) \n", - " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", - " }\n", - " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " ORDER BY similarity DESC\n", - " LIMIT $limit\n", - " \n", - "DEBUG - _search_graph_db\n", - " query=\n", - " MATCH (n )\n", - " WHERE n.user_id = $user_id\n", - " WITH n, $n_embedding as n_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " n_embedding,\n", - " n,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH n, distance as similarity\n", - " WHERE similarity >= $threshold\n", - " CALL {\n", - " WITH n\n", - " MATCH (n)-[r]->(m) \n", - " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", - " UNION ALL\n", - " WITH n\n", - " MATCH (m)-[r]->(n) \n", - " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", - " }\n", - " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " ORDER BY similarity DESC\n", - " LIMIT $limit\n", - " \n", - "DEBUG - Deleted relationships: []\n", - "DEBUG - _search_source_node\n", - " query=\n", - " MATCH (source_candidate )\n", - " WHERE source_candidate.user_id = $user_id \n", - "\n", - " WITH source_candidate, $source_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " source_candidate,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH source_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH source_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - "\n", - " RETURN id(source_candidate), cosine_similarity\n", - " \n", - "DEBUG - _search_destination_node\n", - " query=\n", - " MATCH (destination_candidate )\n", - " WHERE destination_candidate.user_id = $user_id\n", - " \n", - " WITH destination_candidate, $destination_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " destination_candidate, \n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH destination_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH destination_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - " \n", - " RETURN id(destination_candidate), cosine_similarity\n", - " \n", - "DEBUG - _add_entities:\n", - " destination_node_search_result=[{'id(destination_candidate)': 'fdfb732d-4f99-4bf4-8bc8-9c32a874ff2a0', 'cosine_similarity': 0.9999999}]\n", - " source_node_search_result=[{'id(source_candidate)': '6e1efc69-5267-45b0-993d-b9809a88b1c60', 'cosine_similarity': 0.9999999}]\n", - " query=\n", - " MATCH (source)\n", - " WHERE id(source) = $source_id\n", - " SET source.mentions = coalesce(source.mentions, 0) + 1\n", - " WITH source\n", - " MATCH (destination)\n", - " WHERE id(destination) = $destination_id\n", - " SET destination.mentions = coalesce(destination.mentions) + 1\n", - " MERGE (source)-[r:avoids]->(destination)\n", - " ON CREATE SET \n", - " r.created_at = timestamp(),\n", - " r.updated_at = timestamp(),\n", - " r.mentions = 1\n", - " ON MATCH SET r.mentions = coalesce(r.mentions, 0) + 1\n", - " RETURN source.name AS source, type(r) AS relationship, destination.name AS target\n", - " \n", - "DEBUG - _search_source_node\n", - " query=\n", - " MATCH (source_candidate )\n", - " WHERE source_candidate.user_id = $user_id \n", - "\n", - " WITH source_candidate, $source_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " source_candidate,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH source_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH source_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - "\n", - " RETURN id(source_candidate), cosine_similarity\n", - " \n", - "DEBUG - _search_destination_node\n", - " query=\n", - " MATCH (destination_candidate )\n", - " WHERE destination_candidate.user_id = $user_id\n", - " \n", - " WITH destination_candidate, $destination_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " destination_candidate, \n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH destination_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH destination_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - " \n", - " RETURN id(destination_candidate), cosine_similarity\n", - " \n", - "DEBUG - _add_entities:\n", - " destination_node_search_result=[]\n", - " source_node_search_result=[{'id(source_candidate)': '6e1efc69-5267-45b0-993d-b9809a88b1c60', 'cosine_similarity': 0.9999999}]\n", - " query=\n", - " MATCH (source)\n", - " WHERE id(source) = $source_id\n", - " SET source.mentions = coalesce(source.mentions, 0) + 1\n", - " WITH source\n", - " MERGE (destination :`genre` {name: $destination_name, user_id: $user_id})\n", - " ON CREATE SET\n", - " destination.created = timestamp(),\n", - " destination.mentions = 1\n", - " \n", - " ON MATCH SET\n", - " destination.mentions = coalesce(destination.mentions, 0) + 1\n", - " WITH source, destination, $dest_embedding as dest_embedding\n", - " CALL neptune.algo.vectors.upsert(destination, dest_embedding)\n", - " WITH source, destination\n", - " MERGE (source)-[r:recommends]->(destination)\n", - " ON CREATE SET \n", - " r.created = timestamp(),\n", - " r.mentions = 1\n", - " ON MATCH SET\n", - " r.mentions = coalesce(r.mentions, 0) + 1\n", - " RETURN source.name AS source, type(r) AS relationship, destination.name AS target\n", - " \n", - "DEBUG - _search_source_node\n", - " query=\n", - " MATCH (source_candidate )\n", - " WHERE source_candidate.user_id = $user_id \n", - "\n", - " WITH source_candidate, $source_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " source_candidate,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH source_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH source_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - "\n", - " RETURN id(source_candidate), cosine_similarity\n", - " \n", - "DEBUG - _search_destination_node\n", - " query=\n", - " MATCH (destination_candidate )\n", - " WHERE destination_candidate.user_id = $user_id\n", - " \n", - " WITH destination_candidate, $destination_embedding as v_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " v_embedding,\n", - " destination_candidate, \n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH destination_candidate, distance AS cosine_similarity\n", - " WHERE cosine_similarity >= $threshold\n", - "\n", - " WITH destination_candidate, cosine_similarity\n", - " ORDER BY cosine_similarity DESC\n", - " LIMIT 1\n", - " \n", - " RETURN id(destination_candidate), cosine_similarity\n", - " \n", - "DEBUG - _add_entities:\n", - " destination_node_search_result=[{'id(destination_candidate)': '168e2473-63ca-4177-b50f-0d281d54b75d0', 'cosine_similarity': 0.9449627}]\n", - " source_node_search_result=[{'id(source_candidate)': 'c56a97ac-1dbc-4146-8f2a-f21ae0631d1e0', 'cosine_similarity': 1}]\n", - " query=\n", - " MATCH (source)\n", - " WHERE id(source) = $source_id\n", - " SET source.mentions = coalesce(source.mentions, 0) + 1\n", - " WITH source\n", - " MATCH (destination)\n", - " WHERE id(destination) = $destination_id\n", - " SET destination.mentions = coalesce(destination.mentions) + 1\n", - " MERGE (source)-[r:type_of]->(destination)\n", - " ON CREATE SET \n", - " r.created_at = timestamp(),\n", - " r.updated_at = timestamp(),\n", - " r.mentions = 1\n", - " ON MATCH SET r.mentions = coalesce(r.mentions, 0) + 1\n", - " RETURN source.name AS source, type(r) AS relationship, destination.name AS target\n", - " \n", - "DEBUG - Retrieved 8 relationships\n", - "node \"Not a big fan of thriller movies\": [hash: 028dfab4483f28980e292f62578d3293]\n", - "node \"Planning to watch a movie tonight\": [hash: bf55418607cfdca4afa311b5fd8496bd]\n", - "node \"Loves sci-fi movies\": [hash: 1110b1af77367917ea2022355a16f187]\n", - "edge \"alice\" --recommends--> \"sci-fi\"\n", - "edge \"alice\" --dislikes--> \"thriller_movies\"\n", - "edge \"alice\" --loves--> \"sci-fi_movies\"\n", - "edge \"alice\" --plans_to_watch--> \"movie\"\n", - "edge \"alice\" --avoids--> \"thriller\"\n", - "edge \"thriller\" --type_of--> \"movie\"\n", - "edge \"movie\" --can_be--> \"engaging\"\n", - "edge \"sci-fi\" --type_of--> \"movie\"\n" - ] - } - ], - "execution_count": 8 + "outputs": [], + "execution_count": null }, { "metadata": {}, @@ -1334,12 +404,7 @@ }, { "cell_type": "code", - "metadata": { - "ExecuteTime": { - "end_time": "2025-08-07T17:03:37.801795Z", - "start_time": "2025-08-07T17:03:34.639396Z" - } - }, + "metadata": {}, "source": [ "search_results = m.search(\"what does alice love?\", user_id=user_id)\n", "for result in search_results[\"results\"]:\n", @@ -1347,49 +412,8 @@ "for relation in search_results[\"relations\"]:\n", " print(f\"{relation}\")" ], - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DEBUG - _search_graph_db\n", - " query=\n", - " MATCH (n )\n", - " WHERE n.user_id = $user_id\n", - " WITH n, $n_embedding as n_embedding\n", - " CALL neptune.algo.vectors.distanceByEmbedding(\n", - " n_embedding,\n", - " n,\n", - " {metric:\"CosineSimilarity\"}\n", - " ) YIELD distance\n", - " WITH n, distance as similarity\n", - " WHERE similarity >= $threshold\n", - " CALL {\n", - " WITH n\n", - " MATCH (n)-[r]->(m) \n", - " RETURN n.name AS source, id(n) AS source_id, type(r) AS relationship, id(r) AS relation_id, m.name AS destination, id(m) AS destination_id\n", - " UNION ALL\n", - " WITH n\n", - " MATCH (m)-[r]->(n) \n", - " RETURN m.name AS source, id(m) AS source_id, type(r) AS relationship, id(r) AS relation_id, n.name AS destination, id(n) AS destination_id\n", - " }\n", - " WITH distinct source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " RETURN source, source_id, relationship, relation_id, destination, destination_id, similarity\n", - " ORDER BY similarity DESC\n", - " LIMIT $limit\n", - " \n", - "\"Loves sci-fi movies\" [score: 0.6200813]\n", - "\"Not a big fan of thriller movies\" [score: 0.54035205]\n", - "\"Planning to watch a movie tonight\" [score: 0.5394758]\n", - "{'source': 'alice', 'relationship': 'recommends', 'destination': 'sci-fi'}\n", - "{'source': 'alice', 'relationship': 'dislikes', 'destination': 'thriller_movies'}\n", - "{'source': 'alice', 'relationship': 'avoids', 'destination': 'thriller'}\n", - "{'source': 'alice', 'relationship': 'loves', 'destination': 'sci-fi_movies'}\n", - "{'source': 'alice', 'relationship': 'plans_to_watch', 'destination': 'movie'}\n" - ] - } - ], - "execution_count": 9 + "outputs": [], + "execution_count": null }, { "cell_type": "code",