Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FILEDEX

About

Filedex is a semantic file searching tool. Filedex is powered by Gemma3 using different models for different tasks. Model 1b is used for creating relations between tags. Model 4b is used for identifying tags for text files. Model 12b is used for identifying tags for image/PDF files.

Tags, relations, and directories are stored in SQLite.

Usage

Filedex needs to be told what folders to index. This way you have control over what you would like to be indexed. In the main menu you need to select 2. Add a directory to indexer to add a directory. To remove directories from the indexer select 3. Remove a directory from indexer. Currently if you remove a directory the related tags and information will not be removed. This prevents broken links from being introduced into the database. The justification behind this is that the relations made while tagging a folder might present better search results for unrelated folders/files.

Once you have added directories to Filedex you need to start an indexing job. To do this select 4. Start indexing job. Once you have selected this, you can not restart the task or cancel it without restarting the program. A notification will be sent to the console once the indexing is done. The indexing may take a long time depending on hardware and amount of files within the directories.

Finally, once the indexer is done, select 1. Search to search. Filedex will try its best to relate your keyword(s) to files it has seen. Search results will vary from machine to machine and from run to run. This is because results from the LLM used is fairly random. The search tool is limited to 20 results. The results will automatically be sorted from most relevant to least. The relevancy is identified by the LLM so accuracy may be poor.

To reset the database:

  1. Delete the file named metadata.db.
  2. Duplicate the file named metadataE.db.
  3. Rename the duplicate file to metadata.db.

If there is an issue with resetting the database, re-clone the repository.

Supported File Formats

.txt .pdf .png .jpg

Support for HTML, CSS, XML, JS, and other plain text file formats will be added in the future.

Demo

The following folder was indexed by Filedex: Picture of folder with various images, filenames are gibberish showing Filedex capability Notice that the filenames are unrelated to the images. The images were sourced from Pexels.

Search 1

The search corgi resulted in:
1 - \Users\Ethan\Desktop\test\pexels-gilberto-reyes-259461-825949.jpg(picture of dog with brown headband)
2 - \Users\Ethan\Desktop\test\pexels-hnoody93-58997.jpg (corgi)
3 - \Users\Ethan\Desktop\test\pexels-lum3n-44775-406014.jpg(beige dog head peeking out)
4 - \Users\Ethan\Desktop\test\pexels-pixabay-57416.jpg(orange cat licking paw)
5 - \Users\Ethan\Desktop\test\pexels-lina-1741205.jpg(orange cat with red bandana)

As we can see the results are generally related to the search for corgi. The only result that should have came up that did not was the picture of the 2 puppies. At the bottom of the list was results for cats which we can assume was related by a common tag like pet or animal. Because the link is indirect, the results popped up lower in the list.

Search 2

The search sports car resulted in:
1 - \Users\Ethan\Desktop\test\pexels-alex-amorales-321095-909907.jpg (Audi)
2 - \Users\Ethan\Desktop\test\pexels-kelvin809-1519192.jpg (Hyundai)
3 - \Users\Ethan\Desktop\test\pexels-mayday-1545743.jpg (Audi)
4 - \Users\Ethan\Desktop\test\pexels-mikebirdy-170811.jpg (BMW)
5 - \Users\Ethan\Desktop\test\pexels-nordic-overdrive-202768-627678.jpg (Old Sporty Car)
6 - \Users\Ethan\Desktop\test\pexels-peely-712618.jpg (Classic Car)
7 - \Users\Ethan\Desktop\test\pexels-pixabay-210019.jpg (Alfa Romeo)
8 - \Users\Ethan\Desktop\test\pexels-zvolskiy-1637859.jpg (Alfa Romeo)

As we can see the results are generally related to the search for sports car. All the pictures of cars in the test folder came up as results.

The only result which was strange was the Hyundai picture. This picture appeared higher up in the list than most of the actual sports car pictures. This picture may have tags related to it invalidly by the LLM that make it appear high up in results. Upon searching for other car related search terms that the Hyundai picture vaguely connects to, the picture consistently appears too high up. This test demonstrates one of the flaws with Filedex.

Future Plans

  • Add the ability to reset the database from within the menu
  • Add the ability to change the limit of search results
  • Add the ability to customize the models used for each LLM task
  • Add the ability to visualize the relation database
  • Add MacOSX and Linux executables

About

LLM Semantic file search utility.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages