Skip to content

KyleS88/FileScout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FileScout

License: MIT Docker Python FastAPI Redis Hugging Face React TypeScript

FileScout is a smart file management tool designed to help you find the exact image you need through the power of semantic search. Built on top of FastAPI and Redis Stack, it leverages advanced transformer models to map images and text queries to a shared vector space, allowing for intuitive, context-aware image retrieval.

I have provided a live demonstration of the application. For a hands-on experience, please visit: https://huggingface.co/spaces/KyleS88/FileScout

Note: You will most likely have to restart the space, this will take a couple of minutes so don't be alarmed.

WARNING: DO NOT UPLOAD ANY SENSITIVE IMAGES AS THIS IS A PUBLIC SPACE USING A SHARED REDIS STORAGE

Architecture & Stack

  • Backend: FastAPI, Python
  • Database: Redis Stack (Vector Similarity Search)
  • AI/ML: Hugging Face Transformers (CLIP model for embeddings)
  • Frontend: React, TypeScript, Vite
  • Infrastructure: Docker, Docker Compose

Features

  • Upload and store images with automatic vector embedding generation
  • Perform semantic vector searches to find images based on contextual meaning rather than exact file names
  • Fallback to standard filename search when required
  • Fully containerized environment using Docker and Redis Stack for effortless local deployment

Installation

To run FileScout locally, you will need to have Docker Desktop installed on your machine and opened. All database dependencies (like Redis Stack) are fully containerized and require no manual setup on your host machine. If you do not have Docker Desktop set up please follow the following links:

Windows: https://docs.docker.com/desktop/setup/install/windows-install/

MacOS: https://docs.docker.com/desktop/setup/install/mac-install/

Linux: https://docs.docker.com/desktop/setup/install/linux/

  1. Clone the repository to your local machine:
sh
git clone https://github.com/KyleS88/FileScout.git
cd FileScout
  1. Start up the application and database:
docker-compose up --build

This command builds the FastAPI application and pulls the Redis Stack database automatically.

Usage

Once the installation is complete and the Docker containers are running, you can access the full suite of FileScout tools locally:

  1. Accessing the Web Application Navigate to http://localhost:7860 in your web browser to view the FileScout user interface. From here, you can upload images and perform semantic searches.

  2. Accessing the Database (RedisInsight) Redis Stack comes pre-packaged with RedisInsight, a visual UI for your database. You can monitor your vector database and inspect stored embeddings by navigating to http://localhost:8001..

License

The FileScout project is open-sourced software licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors