Skip to main content

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)

Source distribution for rir-api 0.1.2
File Size Uploaded
rir_api-0.1.2.tar.gz 2.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rir-api 0.1.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page