# डेटासममारीजर: त्वरित स्थानीय डाटा प्रोफ़ाइलिंग

<!--category-- Data Analysis, DuckDB, C#, LLM -->
<datetime class="hidden">2025-12-22T18:30</datetime>

अधिकतर “ आपके डेटा के साथ चैट करता है” सिस्टम एक ही गलती करते हैंM SK2 वे LLM को मानो यह एक डाटाबेस है जैसे व्यवहार करता है

वे पंक्तियों को संदर्भ में डालते हैं।

**डेटासममारीजर विपरीत दृष्टिकोण लेता है**

यह एक संगणित करता है **निर्धारणात्मक सांख्यिकी प्रोफाइल** आपके डेटासेट को DuckDB , का उपयोग करते हुए उस प्रोफ़ाइल को जारी रखता है *वैकल्पिक रूप से* layers a **स्थानीय एलएलएम** इन तथ्यों को समझने के लिए ऊपर से।

परिणाम है

* फास्ट, निजी प्रोफाइलिंग
* विश्वसनीय स्वचालन (`tool` JSON)
* बनाया गया---इन ड्रिफ्ट पता लगाना
* और कुछ अधिकतर प्रणालियां कर सकते हैं **निः शुल्क संश्लेषित डेटासेट जो सांख्यिकीय आकार को सुरक्षित रखते हैं**

एक मॉडल को कच्चे पङ्क्ति भेजने के बिना सभी

यह सीधे पर बनाता है **[C# में स्थानीय LLMs के साथ बड़े सीएसवी फ़ाइलों का विश्लेषण कैसे करें](/blog/analysing-large-csv-files-with-local-llms)**जिसने मूल विचार को प्रस्तुत किया

> **LLMs को क्वेरी उत्पन्न करना चाहिए**

यह लेख इस विचार को आगे बढ़ाता है

* LLM पंक्तियों को फीड नहीं करें
* इसे भी खिलाओ नहीं। <s> जब तक कि आपको
* खिलाना **सांख्यिकीय आकार**
* डकडीबी को तथ्यों का संगणन करने दें
* उन तथ्यों - पर LLM तर्क दें और अधिक के लिए पूछें

---


[![जिटहब जारी करना](https://img.shields.io/github/v/release/scottgal/mostlylucidweb?filter=datasummarizer*&label=datasummarizer)](https://github.com/scottgal/mostlylucidweb/releases?q=datasummarizer)

> पूरा दस्तावेज़ में रहता है
> **[डेटासममारीजर README](https://github.com/scottgal/mostlylucidweb/blob/main/Mostlylucid.DataSummarizer/README.md)**
> उपकरण सरल दिखता है. यह नहीं है *isn’t* मॉडल को भेजा गया

> **नोट** यह नहीं है।

---


## आपके डेटा के साथ चैट करने में समस्या “

जब टीम एक LLM डेटा विश्लेषण पर बोल्ड करते हैं, वे सामान्यतः तीन चीजों में से एक करता है

1. संदर्भ में पंक्ति डालें
2. खंडों को सम्मिलित करें और उन्हें प्राप्त करें
3. पास करें “प्रतिनिधिक नमूने

200k टोकन संदर्भ विंडो के साथ भी

एलएलएम समूहों को संगणित करने के लिए नहीं बनाया गया है

सही विभाजन अभी भी है

**LLM कारण. डाटाबेस संगणना**

लेकिन आप बदल कर एक कदम आगे जा सकते हैं *क्या* के ऊपर LLM कारण

---


## इंटरफेस के रूप में कुंजी अद्यतन

मॉडल डेटा देने के बजाय **प्रोफ़ाइल**.

एक प्रोफ़ाइल, डेटासेट का एक संचयात्मक सारांश है

* स्कीमा + अनुमानित प्रकार
* शून्य दर, अद्वितीयता
* न्यूनतम / अधिकतम / quantiles, skewM SK3 बाहरी
* सुरक्षित श्रेणियों के लिए शीर्ष मान
* PII जोखिम संकेत (regex + वर्गीकृत
* समय-सerias संरचना (spanM SK2 gaps , granularityMSC4
* वैकल्पिक ड्रिफ्ट डेल्टा एक बेसलाइन के विपरीत

यह प्रोफ़ाइल *अंतरफलक* तर्क और संगणना के बीच

अब मॉडल कर सकता है

* यह तय करें कि क्या दिलचस्प है
* युक्तियुक्त अनुसरण के लिए सुझाव दें
* परिणाम व्याख्या करें
* अवचलन का पता लगाना

कच्चे पंक्तियों को कभी नहीं देखने के बिना

### वास्तुकला

```mermaid
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** loop, लेकिन यह तथ्यों में एङ्कर करता है

* प्रोफाइलिंग निर्णायक है
* एलएलएम साक्ष्य के आधार पर कार्य करता है-, न कि एnecdotes

---


## क्यों प्रोफ़ाइल उपयोगी है

एक प्रोफ़ाइल नीरस उत्तर देता है

* कौन सी स्तंभ रद्दी हैं (सभी-शून्यM SK2स्थिर
* कौन सी स्तंभ छिद्र जोखिम हैं
* कौन सी स्तम्भ उच्च हैं
* प्रमुख श्रेणियाँ क्या हैं
* क्या यह समय श्रृंखला निकटवर्ती है या खाली स्थानों से भरा है
* वितरण विकृत या शून्य हैं

इन सवालों को आप सामान्यतः खोजते हैं

प्रोफ़ाइल आपको उन्हें सेकंड में देता है

---


## क्यों प्रोफ़ाइल LLM वास्तव में उपयोगी बनाता है

अगर आप *करना* LLM को सक्षम करें

प्रोफ़ाइल के साथ केवल संदर्भ

* उच्च स्तम्भों पर ध्यान केंद्रित करें
* सुझाना समझदार समूह-bys
* कूड़ा SQL से बचें (एकल स्तंभों पर कोई समूह नहीं
* सूचना वितरण ड्रिफ्ट
* मांगना *लक्ष्यित* अधिक डेटा की मांग करने के बजाय सांख्यिकी का अनुसरण

आप नहीं need a bigger model

आपको बेहतर साक्ष्य की जरूरत है

---


## औज़ार

मैंने इसे एक सीएलआई में बदल दिया ताकि मैं यह मनपसंद फ़ाइलों पर चला सकता है - क्रोन और आईसी सहित - बिना हाथ के

[![जिटहब जारी करना](https://img.shields.io/github/v/release/scottgal/mostlylucidweb?filter=datasummarizer*&label=datasummarizer)](https://github.com/scottgal/mostlylucidweb/releases?q=datasummarizer)

### त्वरित प्रारंभ

**विंडोज़** फ़ाइल को ऊपर खिसकाएँ `datasummarizer.exe`

**सीएलआई**

```bash
datasummarizer mydata.csv
```

### उपकरण मोड (JSON आउटपुट

```bash
datasummarizer tool -f mydata.csv > profile.json
```

कि `profile.json` संविदा है

* एजेंटों द्वारा उपभोग किया गया
* drift detection के लिए भंडारित
* संश्लेषित डेटा उत्पादन के लिए प्रयोग किया जाता है

---


## ऑपरेटिंग डिफ़ॉल्ट

* ओललामा अंतबिन्दु `http://localhost:11434` कॉन्फ़िगरेशन योग्य

* डिफ़ॉल्ट मॉडल `qwen2.5-coder:7b` (से अधिरोहित करें `--model`)

* डिफ़ॉल्ट रजिस्ट्री DB: `.datasummarizer.vss.duckdb`

* एसक्यूएल सुरक्षा प्रतिबंध
  
  * अधिकतम 20 पंक्तियों को LLM में लौटाया
  * प्रतिबंधित `COPY`, `ATTACH`, `INSTALL`, `CREATE`, `DROP`, `INSERT`, `UPDATE`, `DELETE`, असमर्थ `PRAGMA`

डिफ़ॉल्ट इजाज़त से संरक्षित हैं

---


## निर्णायक प्रोफाइलिंग (उदाहरण

```bash
datasummarizer -f patients.csv --no-llm --fast
```

आउटपुट PII के साथ रोगी रिकार्ड (974

```
── Summary ────────────────────────────────────────────────
974 rows, 20 columns. 4 columns have >10% nulls. 8 warnings.
```

अधिसूचना फ्लैग छिड़काव जोखिम, उच्चM SK1शून्य स्तंभों, स्थिर क्षेत्रों , और संदिग्ध पहचानकर्ताओं MSC4 सभी डक डीबी द्वारा संगणित

कोई अनुमान नहीं

---


## स्वचालन के लिए उपकरण JSON

```bash
datasummarizer tool -f patients.csv --store > profile.json
```

संकुचित आउटपुट

```json
{
  "Profile": {
    "RowCount": 974,
    "ColumnCount": 20,
    "ExecutiveSummary": "974 rows, 20 columns. 18 alerts."
  },
  "Metadata": {
    "ProfileId": "0ae8dcc4d79b",
    "SchemaHash": "44d9ad8af68c1c62"
  }
}
```

यह डिफ़ाईड करने के लिए डिजाइन किया गया है

---


## स्वचालित Drift Detection (Cron-FriendlyM SK2

एक बार प्रोफाइल मौजूद हो जाएँ तो drift सस्ता हो जाता है

```bash
datasummarizer tool -f daily_export.csv --auto-drift --store
```

* संख्यात्मक स्तम्भों के लिए KS दूरी
* जेन्सेन–काटेक्ट्रिक्स के लिए शाननोन विभेद
* schema-fingerprinted baselines

यह शून्य बुनियादी ढांचा है।

---


## किलर विशेषता: आकार से कृत्रिम क्लोन

एक बार जब आप सांख्यिकीय रूप है, तो आप कुछ सचमुच उपयोगी कर सकते हैं

संश्लेषित डेटासेट उत्पन्न करें जो

* समाहित करना **कोई मूल मान नहीं**
* समाहित करना **कोई पीआई नहीं**
* सुरक्षित रखना **वितरण, cardinality, और विरलता प्रभाव**

यह डेमो के लिए आदर्श है।

विश्वसनीयता रिपोर्ट quantifies how close the synthetic data is - rather than hand

---


## ट्रस्ट मॉडल

* **निर्णायक** सभी आंकड़े, क्वांटाइलेंM SK1 ड्रिफ्ट प्राप्तियां, और चेतावनी डकडीबी द्वारा संगणित की जाती है
* **वैकल्पिक LLM:** वर्णन, तर्कन, और एसक्यूएल सुझावों के लिए केवल
* **हरमेटिक मोड** `--no-llm` आईसी या विनियमित परिवेशों के लिए उपयुक्त पूर्ण रूप से लेखापरीक्षा योग्य आउटपुट का उत्पादन करता है

एलएलएम तथ्यों को कभी नहीं खोजता

---


## इसे प्राप्त करें

**रेपो**
[https://githubMSC1com/scottgalM SK3mostlylucidwebMST4treeMSP5mainMSSK6Mostly LucidMSS7DataSummarizer](https://github.com/scottgal/mostlylucidweb/tree/main/Mostlylucid.DataSummarizer)

**आवश्यकताएं:**

* नेट
* डकडीबी (embedded
* वैकल्पिक: Ollama

**संबंधित:**

* [स्थानीय LLMs के साथ बड़ी सीएसवी फ़ाइलों का विश्लेषण](/blog/analysing-large-csv-files-with-local-llms)
* [डॉक-सममैरिजर](/blog/building-a-document-summarizer-with-rag)
* [प्रतिबंधित अस्पष्टता पैटर्न](/blog/constrained-fuzziness-pattern) - तात्पर्य दर्शन
* [छवि सारणी](/blog/constrained-fuzzy-image-intelligence) - छवि समझ के लिए लागू एक ही पैटर्न