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
- 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
- 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
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/
- Clone the repository to your local machine:
sh
git clone https://github.com/KyleS88/FileScout.git
cd FileScout
- Start up the application and database:
docker-compose up --build
This command builds the FastAPI application and pulls the Redis Stack database automatically.
Once the installation is complete and the Docker containers are running, you can access the full suite of FileScout tools locally:
-
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.
-
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..
The FileScout project is open-sourced software licensed under the MIT License.