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.
- 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.
- Install deps (recommend a venv):
pip install -r requirements.txt- 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
- Run the pipeline:
python demo.pyThis will generate ideas, build the graph, and write last_run_graph.html for interactive viewing.
last_run_graph.html: interactive graph (Plotly).runs/: per-run logs of ideas, edges, labels, and plans.
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.
- Plotly is used for visualization (no Matplotlib GUI). Each run overwrites
last_run_graph.html. - If you change the prompt format, ensure
modules/node.pystill matches the expected fields.