QiuYannnn / Local-File-Organizer

An AI-powered file management tool that ensures privacy by organizing local texts, images. Using Llama3.2 3B and Llava v1.6 models with the Nexa SDK, it intuitively scans, restructures, and organizes files for quick, seamless access and easy retrieval.
MIT License
1.67k stars 118 forks source link
file-organizer llama3 llm on-device-ai vlm

Local File Organizer: AI File Management Run Entirely on Your Device, Privacy Assured

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.

How It Works πŸ’‘

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

Updates πŸš€

[2024/09] v0.0.2:

Please update the project by deleting the original project folder and reinstalling the requirements. Refer to the installation guide from Step 4.

Roadmap πŸ“…

What It Does πŸ”

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:

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.

Supported File Types πŸ“

Prerequisites πŸ’»

Installation πŸ› 

For SDK installation and model-related issues, please post on here.

1. Install Python

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.

2. Clone the Repository

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.

3. Set Up the Python Environment

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

4. Install Nexa SDK ️

CPU Installation

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

GPU Installation (Metal - macOS)

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.

5. Install Dependencies

  1. 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.

  2. 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:

6. Running the ScriptπŸŽ‰

python main.py

Notes

License

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.