Reverse Image RAG - (RIR)
Synopsis:
We build an API to retrieval-augment vision-language models with visual context retrieved from the web.
Concretely, for a query image and query text (e.g. a question), we leverage reverse image search to find most similar images and their titles / captions.
The final product is a VLM-API that allows to automatically leverage reverse-image-search based retrieval augmentation.
Usage:
pip install rir_api
import rir_api
api = rir_api.RIR_API(openai_api_key)
image_url = "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcSgN8RDkURVE8mgOf-n02TqJdC2l1o5cVFA32NpZtuVp8MaFfZY"
query_text = "What is in this image?"
response = api.query_with_image(image_url, query_text)
# >> runs reverse image search
# >> formats visual context prompt
# >> queries VLM with full query
(see run.py for minimal example)
Debug mode:
For debugging, you can make API calls that display the web GUI (headless=True), and plot the image search result (show_result=True):
response = api.query_with_image(image_url, query_text, show_result=True, delay=3, headless=False)
Next steps
- modularized API interface
- information extraction from search results
Feel free to ping me under mdmoor[at]cs.stanford.edu if you're interested in contributing.
Reference:
@misc{Moor2024,
author = {Michael Moor},
title = {Reverse Image RAG~(RIR)},
year = {2024},
publisher = {GitHub},
journal = {GitHub Repository},
howpublished = {\url{https://github.com/mi92/reverse-image-rag}},
}
More teaser examples:
Release files for rir-api 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rir_api-0.1.2.tar.gz | 2.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rir_api-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.4 kB
Release files / rir_api-0.1.2.tar.gz
| Download URL | rir_api-0.1.2.tar.gz |
|---|---|
| Size | 2.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8e6675d69f4dbc454abac19bc5fa01eb260993106f700581fe5b1e5b190242b6
|
|
BLAKE2b-256 checksum How to use checksums |
a2288f3327e0096c15dae595ed0e2dad6f54b345faf9f7c5d5ff8676eed34017
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.9.5
|
Release files / rir_api-0.1.2-py3-none-any.whl
| Download URL | rir_api-0.1.2-py3-none-any.whl |
|---|---|
| Size | 2.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
078d07f2e54ecb77ab98b15a4b0127112d2cf7888d5af8172c57a6d2c67f3c03
|
|
BLAKE2b-256 checksum How to use checksums |
092b2d7a427db8f641b0af939f1b602c3b69b64eaa6dcb6134cd69a3d3687935
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.9.5
|