Queryable

The open source version of Queryable, an iOS app the CLIP model on iOS to search the Photos album offline.

Unlike the search function in the iPhone’s default photo gallery, which relies on keywords, you can use natural sentences like “a dog chasing a balloon on the lawn” for searching in Queryable.

Website | App Store

Performance

final.mp4

How does it work?

First, all photos in your album will be processed one by one through the CLIP Image Encoder, obtaining a set of local image vector. When you input a new text query, the text will first pass through the Text Encoder to obtain a text vector, and this will then be compared with the stored image vectors for similarity, one by one. Finally, the top K most similar results are sorted and returned. The process is as follows:

For more details, please refer to my article Run CLIP on iPhone to Search Photos.

Run on Xcode

Download the ImageEncoder_float32.mlmodelc and TextEncoder_float32.mlmodelc from Google Drive.

Clone this repo, put the downloaded models below CoreMLModels/ path and run Xcode, it should work.

Contributions

You can apply Queryable to your own business product, but I don’t recommend modifying the appearance directly and then listing it on the App Store. You can contribute to this product by submitting commits to this repo, PRs are welcome.

If you have any questions/suggestions, here are some contact methods: Discord | Twitter | Reddit: r/Queryable.

License

MIT License

Copyright (c) 2023 Ke Fang

GitHub

View Github