Skip to content

Latest commit

 

History

31 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ideator

Ideator generates, scores, and visualizes idea graphs with OpenAI + Plotly. It prompts GPT for seed ideas, parses them into structured nodes, computes relationships/embeddings, and renders an interactive graph (saved to last_run_graph.html) with cluster + relationship legends.

Features

  • Structured ideation: prompts GPT for 20 ideas with rationale, constraints, cost, time, risk, and prerequisites.
  • Graph intelligence: embeds ideas, clusters them, types relationships, and computes graph-aware scores.
  • Interactive visualization: Plotly graph with hover cards containing full idea metadata, relationship legends, and side-by-side node/edge keys.
  • Planning support: optional diversity filtering and plan solver to pick a feasible subset under budget/time rules.

Quickstart

  1. Install deps (recommend a venv):
pip install -r requirements.txt
  1. Set environment values in .env:
OPENAI_API_KEY=sk-...
QUESTION="How might we ..."
TITLE="Ideas Graph"
TOP_K=3
USE_ENHANCED_TYPING=true
MODEL=gpt-4o-mini
  1. Run the pipeline:
python demo.py

This will generate ideas, build the graph, and write last_run_graph.html for interactive viewing.

Outputs

  • last_run_graph.html: interactive graph (Plotly).
  • runs/: per-run logs of ideas, edges, labels, and plans.

Key files

  • demo.py: entry point; drives ideation → graph build → Plotly render → optional diversity + planning.
  • ideator.py: core graph construction, scoring, and optional Matplotlib visualization helpers.
  • modules/gui/gui.py: Plotly figure builder with hover cards, legends, and styling.
  • modules/node.py: parsing LLM output into Nodes with metadata/questions.
  • modules/idea.py: safe conversion from Nodes to Idea objects used across the graph pipeline.

Notes

  • Plotly is used for visualization (no Matplotlib GUI). Each run overwrites last_run_graph.html.
  • If you change the prompt format, ensure modules/node.py still matches the expected fields.

About

Neuro-symbolic planner and ideation assistant

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages