One command turns your image dump into a semantic search engine
A toolkit that collapses the entire CLIP retrieval pipeline — embedding, indexing, and serving — into a single CLI workflow.

What it does
clip-retrieval ingests image-text datasets, computes CLIP embeddings, builds approximate-nearest-neighbor indices, and exposes them through a Python client and a web UI. You can query the results by text, by image, or by raw embedding vector, making it a self-contained semantic search system.
The interesting bit
The end2end subcommand chains ingestion, inference, indexing, and serving so that a single CLI run produces a localhost search interface. The README also claims 100 million embeddings can be processed in roughly 20 hours on an RTX 3080, which puts billion-scale datasets within reach of a modest GPU budget.
Key highlights
- Query by text string, image file/URL, or pre-computed embedding via the
ClipClientAPI. - Built-in filtering options: deduplication, safety scoring, violence detection, and aesthetic-rank weighting.
- Supports multiple model backends, including OpenAI CLIP, OpenCLIP, Hugging Face, and DeepSparse for CPU inference.
- Distributed inference support for Slurm clusters.
- An included web frontend (
clip front) and Flask backend (clip back) for immediate browser-based search.
Caveats
- The backend is explicitly described as a “simple flask service” and the UI as a “simple ui,” so expect a research-grade starting point rather than a hardened production stack.
- The end2end pipeline assumes sufficient GPU VRAM; the README warns you may need to hide your GPU from CUDA if memory is tight.
- Advanced backends like DeepSparse and multi-node Slurm execution require additional dependencies that are not bundled in the base install.
Verdict Ideal for ML researchers, data curators, or hobbyists who want to bootstrap a searchable CLIP index from a raw image collection without orchestrating half a dozen separate tools. Skip it if you need a managed, autoscaling retrieval service.
Frequently asked
- What is rom1504/clip-retrieval?
- A toolkit that collapses the entire CLIP retrieval pipeline — embedding, indexing, and serving — into a single CLI workflow.
- Is clip-retrieval open source?
- Yes — rom1504/clip-retrieval is open source, released under the MIT license.
- What language is clip-retrieval written in?
- rom1504/clip-retrieval is primarily written in Jupyter Notebook.
- How popular is clip-retrieval?
- rom1504/clip-retrieval has 2.8k stars on GitHub.
- Where can I find clip-retrieval?
- rom1504/clip-retrieval is on GitHub at https://github.com/rom1504/clip-retrieval.