CLIP_Image_Search / search_engine_interface.py
DanielIglesias97's picture
First upload of the CLIP_Image_Search code to this repository.
11c750c
import logging
import random
import gradio as gr
class SearchEngineInterface():
def __init__(self, host_ip_address, port_number):
self.logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.INFO)
self.host_ip_address = host_ip_address
self.port_number = port_number
def set_search_button_handler_func(self, handler_func):
self.search_button_handler_func = handler_func
def build(self):
self.main_app = gr.Interface(
fn=self.search_button_handler_func,
inputs=[
gr.Textbox(label="Search Query"),
gr.Image(type="pil", label="Upload Image"),
gr.Radio(["Text", "Image"], value="Text", label="Type of prompt", info="Do you want text or image search?"),
gr.Slider(minimum=1, maximum=50, step=1, value=5, label="Number of Results")
],
outputs=gr.Gallery(label="Search Results", columns=3),
title="CLIP Image Search",
description="Enter a text query or upload an image to search for similar images." + " " + \
"The demo uses a smaller version of the COCO dataset (https://cocodataset.org/#home)",
allow_flagging="never"
)
def update(self, search_result):
pass
def run(self):
self.main_app.launch(server_name=self.host_ip_address, server_port=self.port_number)