Spaces:
Running
Running
| # SLM Data Analyst | |
| A local CPU-optimized Data Analyst agent designed to profile CSV files, auto-generate pandas summary scripts, and print descriptive statistics of local datasets. | |
| --- | |
| ## Features | |
| - **Pandas Script Gen**: Auto-generates clean pandas DDL summaries. | |
| - **Descriptive Statistics**: Analyzes column metrics, shape, and datatypes. | |
| - **Sandboxed Operations**: Interfaces with local sandbox components to test generated pandas execution plans. | |
| --- | |
| ## Installation | |
| ```bash | |
| pip install -e ./slm_data | |
| ``` | |
| --- | |
| ## API Reference | |
| ### `SLMDataAnalyst` | |
| ```python | |
| from slm_data import SLMDataAnalyst | |
| analyst = SLMDataAnalyst() | |
| ``` | |
| #### `analyze_file(file_path: str, query: str) -> dict` | |
| Runs profiling statistics on the target file. | |
| - **Arguments**: | |
| - `file_path` (str): Path to local CSV file. | |
| - `query` (str): Task request query. | |
| - **Returns**: | |
| - `dict`: | |
| ```python | |
| { | |
| "success": True/False, | |
| "file": str, # Target file path | |
| "columns": list, # Detected columns (if pandas environment ok) | |
| "script": str, # Generated pandas evaluation script | |
| "summary": str # Natural language summary description of metrics | |
| } | |
| ``` | |
| --- | |
| ## Usage Example | |
| ```python | |
| from slm_data import SLMDataAnalyst | |
| analyst = SLMDataAnalyst() | |
| csv_file = "sales.csv" | |
| result = analyst.analyze_file(csv_file, "Summarize total sales") | |
| print(f"Summary:\n{result['summary']}") | |
| print(f"Python Script:\n{result['script']}") | |
| ``` | |
| ### Input & Output Example | |
| #### Input (CSV File + Query): | |
| * **File**: `sales.csv` | |
| * **Query**: `"summarize sales"` | |
| #### Output: | |
| ```json | |
| { | |
| "success": true, | |
| "file": "sales.csv", | |
| "columns": [], | |
| "script": "import pandas as pd\ndf = pd.read_csv('sales.csv')\nprint('Data summary:')\nprint(df.describe(include='all'))\n", | |
| "summary": "Calculated total revenue by region: East ($15,000), West ($22,000)." | |
| } | |
| ``` | |