66 lines
1.8 KiB
Plaintext
66 lines
1.8 KiB
Plaintext
digraph nvi {
|
|
rankdir=TB;
|
|
bgcolor="#161b22";
|
|
fontname="JetBrains Mono";
|
|
fontcolor="#c9d1d9";
|
|
node [
|
|
shape=box,
|
|
style="rounded,filled",
|
|
fillcolor="#21262d",
|
|
color="#30363d",
|
|
fontname="JetBrains Mono",
|
|
fontcolor="#c9d1d9",
|
|
fontsize=11,
|
|
];
|
|
edge [color="#8b949e", fontname="JetBrains Mono", fontcolor="#8b949e", fontsize=10];
|
|
|
|
user [label="user question", fillcolor="#1f6feb", fontcolor="#ffffff"];
|
|
|
|
subgraph cluster_l3 {
|
|
label="L3 — Plan";
|
|
color="#30363d";
|
|
fontcolor="#58a6ff";
|
|
fontsize=11;
|
|
plan [label="planner\n(1 LLM call)"];
|
|
}
|
|
|
|
subgraph cluster_l2 {
|
|
label="L2 — Analyses (mini-agents)";
|
|
color="#30363d";
|
|
fontcolor="#58a6ff";
|
|
fontsize=11;
|
|
compare [label="compare_periods\n(CoT)"];
|
|
drill [label="drill_down\n(ReAct)"];
|
|
outl [label="find_outliers\n(CoT)"];
|
|
corr [label="correlate\n(plan-and-execute)"];
|
|
}
|
|
|
|
subgraph cluster_l1 {
|
|
label="L1 — Tools (deterministic)";
|
|
color="#30363d";
|
|
fontcolor="#58a6ff";
|
|
fontsize=11;
|
|
t2s [label="text_to_sql"];
|
|
exec [label="execute_sql"];
|
|
schema [label="retrieve_schema"];
|
|
py [label="python_sandbox"];
|
|
}
|
|
|
|
warehouse [label="Postgres\nBIRD financial", fillcolor="#388bfd33"];
|
|
langfuse [label="Langfuse (lng, WG)", fillcolor="#bf4b8a33", fontcolor="#ffffff"];
|
|
synth [label="synthesize\nfindings → answer"];
|
|
|
|
user -> plan;
|
|
plan -> compare; plan -> drill; plan -> outl; plan -> corr;
|
|
compare -> t2s; drill -> t2s; outl -> t2s; corr -> t2s;
|
|
drill -> schema [style=dashed];
|
|
corr -> py [style=dashed];
|
|
t2s -> exec;
|
|
exec -> warehouse;
|
|
compare -> synth; drill -> synth; outl -> synth; corr -> synth;
|
|
|
|
plan -> langfuse [style=dotted, label="spans"];
|
|
compare -> langfuse [style=dotted];
|
|
exec -> langfuse [style=dotted];
|
|
}
|