Aventra-OS-Chat / graph_view.py
Tpayne101's picture
Update graph_view.py
f105d7d verified
import os
from pyvis.network import Network
def visualize_reasoned_graph(memories, relationships):
"""
Generates an interactive graph of your memory network.
Safe for headless environments like Hugging Face Spaces.
"""
net = Network(height="700px", width="100%", bgcolor="#0d0d0d", font_color="white", notebook=False)
net.barnes_hut(gravity=-30000, central_gravity=0.3, spring_length=150, spring_strength=0.05)
for i, memory in enumerate(memories):
net.add_node(i, label=memory, title=memory, color="#4fc3f7")
for rel in relationships:
src, tgt, sim = rel
src_idx = memories.index(src)
tgt_idx = memories.index(tgt)
width = max(1, sim * 10)
color = "#00e676" if sim > 0.5 else "#ffeb3b" if sim > 0.3 else "#ff1744"
net.add_edge(src_idx, tgt_idx, value=sim, color=color, width=width, title=f"Similarity: {sim:.2f}")
output_dir = "/mnt/data"
os.makedirs(output_dir, exist_ok=True)
output_html = os.path.join(output_dir, "graph_reasoned.html")
# ✅ write_html instead of show()
net.write_html(output_html)
print(f"✅ Visualization generated successfully at: {output_html}")
return output_html