srivatsavdamaraju's picture
Upload 173 files
b2315b1 verified
# import os
# from mem0 import Memory
# import os
# from dotenv import load_dotenv
# load_dotenv()
# os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY")
# config = {
# "vector_store": {
# "provider": "redis",
# "config": {
# "collection_name": "mem0",
# "embedding_model_dims": 1536,
# "redis_url": "redis://default:FO6JF6mPJ0bgPj1Rpof84OtYyZUeIxUm@redis-17714.c81.us-east-1-2.ec2.redns.redis-cloud.com:17714"
# }
# }, "version": "v1.1"
# }
# m = Memory.from_config(config)
# m.add("Likes to play cricket on weekends", user_id="alice", metadata={"category": "hobbies"})
# m.search("Likes to play cricket on weekends", user_id="alice")
# m.add("this is srivatsav", user_id="alice", metadata={"category": "hobbies"})
# m.search("vatsav", user_id="alice")
#graphql - starts from heare
# mem0_graph_demo.py
import os
from mem0 import Memory
from dotenv import load_dotenv
load_dotenv()
# mem0_aura_fixed.py
# mem0_aura_perfect.py
import os
from mem0 import Memory
# === YOUR NEO4J AURA CREDENTIALS ===
# Replace with YOUR Aura instance (or set as env vars)
os.environ["NEO4J_URL"] = "neo4j+s://dc642ef8.databases.neo4j.io"
os.environ["NEO4J_USERNAME"] = "neo4j"
os.environ["NEO4J_PASSWORD"] = "rKJnbgleD_USIXBo5wfI-zJxRahh8V-IRbksPTZEoYs" # ← PUT YOUR REAL PASSWORD
# === CONFIG: Graph ON + High confidence ===
config = {
"version": "v1.1", # REQUIRED for graph
"graph_store": {
"provider": "neo4j",
"config": {
"url": os.getenv("NEO4J_URL"),
"username": os.getenv("NEO4J_USERNAME"),
"password": os.getenv("NEO4J_PASSWORD"),
"database": "neo4j",
"threshold": 0.85, # only rock-solid edges
},
"custom_prompt": (
"Extract ONLY people, events, locations. "
"Create a MET edge with properties {event, location}."
),
}
}
print("πŸš€ Starting Mem0 with Neo4j Aura...")
memory = Memory.from_config(config_dict=config)
print("βœ… Connected – Graph Memory LIVE")
# === 1. ADD RELATIONSHIP (official syntax) ===
messages = [
{"role": "user", "content": "Alice met Bob at GraphConf 2025 in San Francisco."},
{"role": "assistant", "content": "Saved! Building the graph..."}
]
memory.add(messages, user_id="alice-2025") # ← NO data=, NO enable_graph=
print("βœ… Alice ↔ Bob added to Neo4j")
# === 2. SEARCH (official syntax) ===
results = memory.search(
"Who did Alice meet at GraphConf?", # ← positional query
user_id="alice-2025",
limit=3
)
print("\nπŸ”₯ Recall:")
for r in results["results"]:
print(" β€’", r["memory"])
# === 3. VERIFY IN NEO4J BROWSER ===
cypher = """
MATCH (p:Person {name:"Alice"})-[r:MET]->(q:Person {name:"Bob"})
RETURN p.name, r.event, r.location, q.name
"""
print("\nπŸ“Š Paste into Neo4j Browser:")
print(cypher)