Spaces:
Sleeping
Sleeping
| # 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) |