This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
Monday, 22 December 2025
De flesta system gör samma misstag, de behandlar LLM som om det var en databas.
De kastar rader i sammanhanget. ,, lägger in bitar, ,, eller väljer representativa prover,” och hoppas att modellen kan dra slutsatser om strukturen, ,, kvalitet, M SK5, och sanning från anekdoter. . Det fungerar tillräckligt bra för att demonstrera, Mska7, och sen kollapsar det under skalan, M Ska8, integritetsbegränsningar, MSKA9, eller grundläggande frågor som: Är den här kolumnen skräp? ,
DataSummarizer tar den motsatta vägen.
Den räknar en deterministisk statistikprofil av din datauppsättning genom att använda DuckDB, optionellt lager ett lokala LLM överhuvudtaget för att kunna tolka dessa fakta.,; föreslå säkert läsbarhet.-; endast SQL.
Resultatet är:
tool JSON)Allt utan att skicka rå rader till en modell.
Det bygger direkt på Hur man analyserar stora CSV-Dater med Lokala LLM i C#, som introducerade grundidén
LLMs borde generera frågor , inte konsumera data.
Detta artikel driver den tanken vidare.
Den kompletta dokumentationen finns i DataSummarizer README verktyget ser enkelt ut. is’t skickad till modellen.
Nota: Det här är inte "’". 1.0", än. ".", det är avsiktligt. "M SK4" Interfejsen är stabil, ; Kanterna blir fortfarande skarpare.
När lag ger en LLM in i dataanalys, gör de vanligtvis en av tre saker:
Även med 200k token kontextfenster
LLMs är inte konstruerade för att bearbeta agregater , upptäcka motsägelser, eller att trovärdigt resonera om fördelningseigenheter genom att läsa rader
Det korrekta splittret är fortfarande:
LLM skäl. Databasberäkningar.
Men man kan ta ett steg längre genom att ändra vad LLM-motsägelserna över
Istället för att ge modellen data profil.
Ett profil är en kompakt, deterministisk sammanfattning av ett dataset.
Profilet blir gränssnitt mellan resonemang och beräkning.
Modelet kan nu
…oför att någonsin se rå rader
flowchart LR
A[Data file] --> B[DuckDB profiles]
B --> C[Statistical Profile JSON]
C --> D[LLM reasoning step]
D --> E[SQL/tool calls]
E --> F[DuckDB executes locally]
F --> G[Aggregate results]
G --> H[LLM synthesis]
style B stroke:#333,stroke-width:4px
style D stroke:#333,stroke-width:4px
style F stroke:#333,stroke-width:4px
Detta bevarar den välkända LLM → SQL → DuckDB loop, men ancorar den i faktaM SK1
Ett profil besvarar tråkiga frågor omedelbart
Det här är de frågor som du vanligtvis upptäcker 30 minuter i kalkylblads arkeologi
Profilet ger dem i sekunder.
Om du göra aktivera LLM, profilet är det som hindrar det från att vara performativt
Med profilen- endast kontexten , kan modellen
Du behöver inte en större modell
Du behöver bättre bevis
Jag gjorde detta till en CLI så att jag kunde köra den på godtyckliga plier, inklusive cron och CI.
Windows: draga en file på datasummarizer.exe
CLI:
datasummarizer mydata.csv
datasummarizer tool -f mydata.csv > profile.json
Det profile.json är företaget:
Ollama slutpunkt: http://localhost:11434 (konfigurerbar)
Standardmodell: qwen2.5-coder:7b (överrider med --model)
Standardregistrer DB: .datasummarizer.vss.duckdb
SQL säkerhetsbegränsningar:
COPY, ATTACH, INSTALL, CREATE, DROP, INSERT, UPDATE, DELETE, osäkra PRAGMADom standarden är avsiktligt konservativa. Du kan frigöra dem - men du måste välja in
datasummarizer -f patients.csv --no-llm --fast
utgång (974 patientregistrer med PII ):
── Summary ────────────────────────────────────────────────
974 rows, 20 columns. 4 columns have >10% nulls. 8 warnings.
Alerter Flaggläckarisker, högM SK1 tomma kolumner , konstanta fält , och misstänkta ID-identifisatorer - alla räknade av DuckDB
Ingen gissning . Inga hallucinationer.
datasummarizer tool -f patients.csv --store > profile.json
Förkortad utgång:
{
"Profile": {
"RowCount": 974,
"ColumnCount": 20,
"ExecutiveSummary": "974 rows, 20 columns. 18 alerts."
},
"Metadata": {
"ProfileId": "0ae8dcc4d79b",
"SchemaHash": "44d9ad8af68c1c62"
}
}
Den är designad för att differas, lagras och kontrolleras.
När profiler existerar, blir drift billig.
datasummarizer tool -f daily_export.csv --auto-drift --store
Det är den tråkiga infrastrukturen som är precis vad du vill ha.
När du har en statistisk form, kan du göra något verkligt användbart.
Generera syntetiska datasamlingar som
Det är idealt för demos, CI, support repros , och delabara prover
Tillförlitlighetsrapporten kvantifierar hur nära den syntetiska datan är - snarare än hand
--no-llm producerar fullt reviderade produkter som är lämpliga för CI eller reglerade miljöer.LLM uppfinner aldrig fakta, det reagerar på dem.
Repo: https://github.comM SK2scottgal/motillucidweb /treeMST5mainMstlylucidM ST7DataSummarizer
Benötningar:
Related:
© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.