Spaces:
Sleeping
Download PLAN.md from BonusLockSMith/csv-insights: direct link, hf CLI and curl.
- Browser
- Download file 2.11 kB
-
https://huggingface.co/spaces/BonusLockSMith/csv-insights/resolve/main/PLAN.md
- Command line
-
hf download hf://spaces/BonusLockSMith/csv-insights/PLAN.md
-
curl -L -o PLAN.md https://huggingface.co/spaces/BonusLockSMith/csv-insights/resolve/main/PLAN.md
30-in-15 Β· #12 β CSV β Insights Analyst (plan)
Rung focus: code execution + a data agent (vs. #11's long-running service). One-liner: Upload a CSV β get auto-generated charts + plain-English findings you can trust.
Core principle (honest by construction)
The LLM never invents numbers. A deterministic profiling pass (pandas) computes every stat and chart; the model only narrates the already-computed summary. Numbers in the writeup are grounded in the computed profile, not hallucinated. (Mirrors the #10 RAG "honest, cited" discipline.)
v1 scope (lean)
- Upload a CSV (size-capped, typed sniff).
- Profile (pandas): shape, dtypes, missing %, numeric describe, top categoricals, correlations, simple outlier + trend flags.
- Auto-charts (matplotlib, GritAI design-system palette): distributions, top categories, correlation heatmap, and a time trend if a date column is detected.
- Narrative: LLM turns the computed profile into a plain-English "what's interesting here" β grounded in the numbers, flags data-quality issues, suggests next questions.
- Ask-a-question (stretch): natural-language question β constrained pandas op executed on the dataframe β answer + the exact numbers (the "data agent / code execution" angle).
Stack
- Flask + the canonical GritAI design system (
docs/gritai_design_system.css), same as the Flask rungs. - pandas + matplotlib (stdlib-adjacent, no heavy deps).
- Backend LLM: local Ollama (free) by default; Claude optional β same env-var pattern as the bot.
- Deploy: HF docker Space per [[hf-spaces-deploy-playbook]] β
insights.gritai.solutionson the hub. - Two-tier: free demo (funnel) / paid "GritAI Studio" full stack.
Validate on REAL data (Rob's rule)
Build + tune against a real CSV Rob provides so the demo isn't synthetic. Fallback: a solid public dataset, swap Rob's in later.
Safety
Same secrets hygiene (env-only keys, log exception TYPE only). Uploaded data stays local/ephemeral; never logged, never sent anywhere except the chosen LLM backend (local by default).