{"id":29286044,"url":"https://github.com/syedvahith/smartfile-ai","last_synced_at":"2026-04-12T01:44:09.636Z","repository":{"id":300745678,"uuid":"1000168913","full_name":"Syedvahith/smartfile-ai","owner":"Syedvahith","description":"AI-powered CSV automation using Python, Flask \u0026 open-source LLMs (Ollama). Clean, summarize \u0026 query your data beautifully.","archived":false,"fork":false,"pushed_at":"2025-06-26T09:20:49.000Z","size":664,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-06T00:01:39.541Z","etag":null,"topics":["ai-ml-nlp","api-integration","csv","data-cleaning","flask","ftplib","html-css-javascript","huggingface","llama3","mistral","ollama","pandas","python-automation","rpa","web-automation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Syedvahith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-11T11:18:24.000Z","updated_at":"2025-06-26T09:20:53.000Z","dependencies_parsed_at":"2025-06-23T11:46:02.677Z","dependency_job_id":"32b601c7-d3b2-47cf-a68c-c2ccd4f2a8d9","html_url":"https://github.com/Syedvahith/smartfile-ai","commit_stats":null,"previous_names":["syedvahith/smartfile-ai"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Syedvahith/smartfile-ai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Syedvahith%2Fsmartfile-ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Syedvahith%2Fsmartfile-ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Syedvahith%2Fsmartfile-ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Syedvahith%2Fsmartfile-ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Syedvahith","download_url":"https://codeload.github.com/Syedvahith/smartfile-ai/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Syedvahith%2Fsmartfile-ai/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263826633,"owners_count":23516782,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-ml-nlp","api-integration","csv","data-cleaning","flask","ftplib","html-css-javascript","huggingface","llama3","mistral","ollama","pandas","python-automation","rpa","web-automation"],"created_at":"2025-07-06T00:00:47.274Z","updated_at":"2026-04-12T01:44:09.598Z","avatar_url":"https://github.com/Syedvahith.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Python](https://img.shields.io/badge/Python-3.10-blue)\n![Flask](https://img.shields.io/badge/Framework-Flask-lightgrey)\n![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)\n![Ollama](https://img.shields.io/badge/LLM-Mistral-blueviolet)\n\n# 🚀 SmartFile AI – Python File Summary \u0026 Query Assistant\n\nSmartFile AI is a powerful Python automation tool that downloads, processes, and summarizes CSV files using open-source LLMs (like Mistral or LLaMA3 via Ollama), with a beautiful dark/light UI.\n\n---\n\n## ✨ Features\n\n- ✅ Download data from API and Web (Selenium)\n- ✅ Auto clean \u0026 rename CSVs\n- ✅ Use open-source LLMs (like Mistral) for AI-powered summaries\n- ✅ Ask any natural language question on the file (Q\u0026A)\n- ✅ HTML report generator\n- 🌗 Toggle between light and dark themes with icon switch (☀️ / 🌙)\n\n---\n\n\n## 📸 Demo Preview\n\n\u003e Home \n![alt text](Home.png)\n\n\u003e API Summary \n![alt text](API_Summary.png)\n\n\u003e Web Summary\n![alt text](Web_Summary.png)\n\n### 📊 Visual Enhancements (Phase 1 Update)\n- Added automatic bar chart generation after CSV cleanup\n- Separate charts for API and Web files saved under `static`\n- UI now supports toggling between light/dark themes with AI summaries + insights\n\n\n### 📊 API Bar Chart\n![API Chart](report_html/visuals/Bar_API.png)\n\n### 📊 Web Bar Chart\n![Web Chart](report_html/visuals/Bar_Web.png)\n\n### 🥧 API Pie Chart\n![API Pie](report_html/visuals/PI_API.png)\n\n### 🥧 Web Pie Chart\n![Web Pie](report_html/visuals/PI_Web.png)\n\n### 🥧 Individual File Summary\n![Individual File Summary](report_html/visuals/Individual_File_Summary.png)\n\n\u003eQ \u0026 A \n![AI Chat](report_html/visuals/AI_Chat.png)\n\n\n### 🥧 File Compare\n![File Compare](report_html/visuals/File_compare.png)\n\n---\n```\n\n## 📁 Folder Structure\n\n```bash\nai_report_automation_advanced/\n├── app.py # Flask app entry point\n├── main.py # Master pipeline logic\n├── api_downloader.py\n├── web_downloader.py\n├── file_extractor.py\n├── data_cleaner.py\n├── ai_summary.py # Summary generation with LLM\n├── question_answering.py # Q\u0026A logic\n├── report_generator.py\n├── templates/\n│ ├── index.html # UI with dark mode + toggle\n│ └── report_template.html # HTML report\n├── static/\n│ ├── bar_chart_api.png\n│ └── bar_chart_web\n├── input_data/\n│ ├── api/ # API downloaded CSV\n│ └── web/ # Web ZIPs \u0026 CSV\n├── output_reports/\n│ ├── api/clear_api.csv\n│ └── web/clear_web.csv\n├── config/.env # FTP settings (optional)\n\n---\n```\n## ⚙️ Requirements\n\n\n- Python 3.10+\n- Google Chrome\n- [Ollama](https://ollama.com/download) (for local LLMs)\n- ChromeDriver (version matching your Chrome)\n- Git (for cloning)\n\n---\n\n## 🛠️ Installation\n\n### 1. Clone the repo\n```\n```bash\ngit clone https://github.com/your-username/smartfile-ai.git\ncd smartfile-ai\n```\n\n\n---\n```\n2. Create Virtual Environment\n\npython -m venv venv\nvenv\\Scripts\\activate   # On Windows\n# source venv/bin/activate   # On Linux/macOS\n```\n\n```\n3. Install Requirements\n\npip install -r requirements.txt\n\nIf no requirements.txt, run:\n\npip freeze \u003e requirements.txt\n```\n\n---\n```\n🔐 Environment Setup (.env)\nCreate a file at config/.env and add:\n\n\nftp_server=example.com\nftp_ip=192.168.1.1\nftp_port=21\nftp_user=youruser\nftp_pass=yourpass\n```\n---\n```\n🤖 Ollama Setup\n\n1. Install Ollama\nDownload from: https://ollama.com/download\n(Available for Windows, macOS, Linux)\n```\n---\n```\n2. Pull a Model\n\nollama pull mistral\nAlternatives:\n\nllama3\n\ntinyllama\n\nphi3\n```\n---\n\n```\n3. Start the Model\n\nollama run mistral\n🧠 Update Model in Code\nIn both ai_summary.py \u0026 question_answering.py, make sure the model is:\n\n\n\"model\": \"mistral\"\n```\n---\n```\n🚀 Start the Flask App\n\npython app.py\nApp runs at:\n🔗 http://127.0.0.1:5000\n```\n---\n```\n# Terminal - Ollama\nollama run mistral or any other\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyedvahith%2Fsmartfile-ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyedvahith%2Fsmartfile-ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyedvahith%2Fsmartfile-ai/lists"}