Більшість систем “ спілкується з вашими даними ” робить ту ж саму помилку МSK2 вони ставляться до LLM так, наче це база даних
Вони вміщують рядки у контекст: , вміщають шматочки, , або вибирають МSK2 репрезентативні зразки, \ ” і сподіваються, що модель зможе зробити висновок про структуру, ♫ , ♫ якість, ♪ , ♫ та правду з анекдотів. ♫ МSK6 ♫ Це працює достатньо добре для демонстрації, | - ♫ а потім зруйнується під масштабом. ♪ МSK8 ♫ обмеження конфіденциальності. \ МSK9 ♫ або базові питання, такі як: ♫“ ♫ це сміття в цій колоні? ?” ♫
DataSummarizer використовує протилежний підхід.
Він обчислює детерміністичний статистичний профіль вашого масиву даних, використовуючи DuckDB, і опціонально шари локальний LLM нагорі, щоб інтерпретувати ці факти, запропонувати безпечне читанняM SK1 тільки SQL , і вказівник слідувати за нею- аналіз доти МSK4 Тяжке підтримування є числовимМSK5 перевірянимMSC6 і швидкимMSL7 ЛЛМ навмисно обмежений мисленням та розповіддю
Результат::
tool JSON)Все без відправлення сирих рядків до моделі.
Це будується безпосередньо на Як аналізувати великі CSV-файли з локальною LLM в C#,, що запропонувала головну ідею
LLM повинні генерувати питання, не споживати данихM SK1
Ця стаття просуває цю ідею далі.
Полна документація живе в README DataSummarizer Інструмент виглядає простим. isn’t надсилають на модель.
Nota: Це не МСК0 , а МСК1 . Це ще ".", це intentional , МСК3 . МСК4 інтерфейс стабільний.
Коли команди підключають LLM до аналізу даних, вони зазвичай роблять одну з трьох речей:
Навіть з 200k токенними контекстними вікнами
ЛЛМ не розроблені для обчислення сукупностей МСК0 виявлення помилок МSK1 чи надійного усвідомлення розподілу властивостей, читаючи рядки . Вони галюцинують через те, що їх запрошують виконувати роботу з базою даних.
Правильний розподіл залишається::
Причина LLM. Перерахунки з бази данихM SK1
Але ви можете піти ще один крок далі, змінюючи що причини LLM над .
Замість того, щоб дати модельні дані, Профиль.
Профиль - це компактний, детермінативний підсумок набору даних
Цей профіль стає інтерфейс між мисленням і обчисленням.
Модель тепер
…без жодного споглядання сирих рядківM SK1
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
Це зберігає знайоме LLM → SQL → DuckDB петля, але прикріплює її до фактівM SK1
Профиль відповідає нудним питанням.
Це питання, які ви зазвичай знаходите. 30 хвилини в археології таблиц
Профиль дає їх за кілька секунд.
Якщо ви зробити ввімкнути LLM, цей профіль - це те, що зупиняє його performaтивність
З профилем- тільки контекстом, модель можеM SK2
Вам не потрібна більша модель
Вам потрібні кращі докази.
Я перетворив це на CLI, так що я міг запускати його на произвольних файлах - включно з cronом та CI - без руки МSK2 кожен раз для аналізу записів
Windows: перетащите файл datasummarizer.exe
МSK0
datasummarizer mydata.csv
datasummarizer tool -f mydata.csv > profile.json
Це profile.json це контракт
Ольlama кінцевий пункт: http://localhost:11434 (конфигурованийM SK1
Початкова модель: qwen2.5-coder:7b (переходити з --model)
Початковий реестр DB: .datasummarizer.vss.duckdb
Ситуація безпеки SQL:
COPY, ATTACH, INSTALL, CREATE, DROP, INSERT, UPDATE, DELETE, небезпечно PRAGMAПогані стандарти є навмисно консервативними. Ви можете розслабити їх M SK1 але вам треба вибрати в.
datasummarizer -f patients.csv --no-llm --fast
Виходи (974 записи пацієнтів з ПIIМSK1
── Summary ────────────────────────────────────────────────
974 rows, 20 columns. 4 columns have >10% nulls. 8 warnings.
Оповіщення про ризики витіку прапорця, високийM SK1 нульові стовпці , постійні поля МSK3 і підозрювані идентификатори - усі обчислені Дак-ДБMSC5
Ніяких припущень. Ніяких галюцинаційM SK1
datasummarizer tool -f patients.csv --store > profile.json
Приблизне wyjście:
{
"Profile": {
"RowCount": 974,
"ColumnCount": 20,
"ExecutiveSummary": "974 rows, 20 columns. 18 alerts."
},
"Metadata": {
"ProfileId": "0ae8dcc4d79b",
"SchemaHash": "44d9ad8af68c1c62"
}
}
Це розроблено для дефіциту , зберігання, і аудиту МSK2
Як тільки profile існують, drift стає дешевим.
datasummarizer tool -f daily_export.csv --auto-drift --store
Це - нудна інфраструктура. МСК1 - саме те, чого ви хочете. МSK2
Як тільки у вас з 'явиться статистична форма, ви можете зробити щось дійсно корисниеM SK1
Створити синтетичні набори даних, що:
Це ідеальне для демонстрацій, CIM SK1 підтримувальних репромов, та спільних зразків .
Досконалість звіту вимірює, наскільки близькі синтетичні дані є -, а не ручним МSK1 хвилянням МSK2 реалістичним ”.
--no-llm виробляє повністю перевірямі продукти, які підходять для CI або регулюванного середовища.ЛЛМ ніколи не винаходить факти.
Репо: https://githubMSC1comM SK2scottgal/mostlylucidwebMSL4treeMST5mainMSR6Mostly LucidM ST7DataSummarizer
Требування:
Подібне:
© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.