Tired of digital clutter? Overwhelmed by disorganized files scattered across your computer? Let AI do the heavy lifting! The Local File Organizer is your personal organizing assistant, using cutting-edge AI to bring order to your file chaos - all while respecting your privacy.
Before:
/home/user/messy_documents/
βββ IMG_20230515_140322.jpg
βββ IMG_20230516_083045.jpg
βββ IMG_20230517_192130.jpg
βββ budget_2023.xlsx
βββ meeting_notes_05152023.txt
βββ project_proposal_draft.docx
βββ random_thoughts.txt
βββ recipe_chocolate_cake.pdf
βββ scan0001.pdf
βββ vacation_itinerary.docx
βββ work_presentation.pptx
0 directories, 11 files
After:
/home/user/organized_documents/
βββ Financial
β βββ 2023_Budget_Spreadsheet.xlsx
βββ Food_and_Recipes
β βββ Chocolate_Cake_Recipe.pdf
βββ Meetings_and_Notes
β βββ Team_Meeting_Notes_May_15_2023.txt
βββ Personal
β βββ Random_Thoughts_and_Ideas.txt
βββ Photos
β βββ Cityscape_Sunset_May_17_2023.jpg
β βββ Morning_Coffee_Shop_May_16_2023.jpg
β βββ Office_Team_Lunch_May_15_2023.jpg
βββ Travel
β βββ Summer_Vacation_Itinerary_2023.docx
βββ Work
βββ Project_X_Proposal_Draft.docx
βββ Quarterly_Sales_Report.pdf
βββ Marketing_Strategy_Presentation.pptx
7 directories, 11 files
[2024/09] v0.0.2:
.md
, .excel
, .ppt
, and .csv
Please update the project by deleting the original project folder and reinstalling the requirements. Refer to the installation guide from Step 4.
This intelligent file organizer harnesses the power of advanced AI models, including language models (LMs) and vision-language models (VLMs), to automate the process of organizing files by:
Scanning a specified input directory for files.
Content Understanding:
Understanding the content of your files (text, images, and more) to generate relevant descriptions, folder names, and filenames.
Organizing the files into a new directory structure based on the generated metadata.
The best part? All AI processing happens 100% on your local device using the Nexa SDK. No internet connection required, no data leaves your computer, and no AI API is needed - keeping your files completely private and secure.
.png
, .jpg
, .jpeg
, .gif
, .bmp
.txt
, .docx
, .md
.xlsx
, .csv
.ppt
, .pptx
.pdf
For SDK installation and model-related issues, please post on here.
Before installing the Local File Organizer, make sure you have Python installed on your system. We recommend using Python 3.12 or later.
You can download Python from the official website.
Follow the installation instructions for your operating system.
Clone this repository to your local machine using Git:
git clone https://github.com/QiuYannnn/Local-File-Organizer.git
Or download the repository as a ZIP file and extract it to your desired location.
Create a new Conda environment named local_file_organizer
with Python 3.12:
conda create --name local_file_organizer python=3.12
Activate the environment:
conda activate local_file_organizer
To install the CPU version of Nexa SDK, run:
pip install nexaai --prefer-binary --index-url https://nexaai.github.io/nexa-sdk/whl/cpu --extra-index-url https://pypi.org/simple --no-cache-dir
For the GPU version supporting Metal (macOS), run:
CMAKE_ARGS="-DGGML_METAL=ON -DSD_METAL=ON" pip install nexaai --prefer-binary --index-url https://nexaai.github.io/nexa-sdk/whl/metal --extra-index-url https://pypi.org/simple --no-cache-dir
For detailed installation instructions of Nexa SDK for CUDA and AMD GPU support, please refer to the Installation section in the main README.
Ensure you are in the project directory:
cd path/to/Local-File-Organizer
Replace path/to/Local-File-Organizer
with the actual path where you cloned or extracted the project.
Install the required dependencies:
pip install -r requirements.txt
Note: If you encounter issues with any packages, install them individually:
pip install nexa Pillow pytesseract PyMuPDF python-docx
With the environment activated and dependencies installed, run the script using:
python main.py
SDK Models:
NexaVLMInference
and NexaTextInference
models usage.Dependencies:
brew install tesseract
sudo apt-get install tesseract-ocr
Processing Time:
Customizing Prompts:
data_processing.py
to change how metadata is generated.This project is dual-licensed under the MIT License and Apache 2.0 License. You may choose which license you prefer to use for this project.