Spaces:
Sleeping
Sleeping
from PIL import Image | |
import gradio as gr | |
from config import ( | |
description, | |
article, | |
) | |
from encode import get_embeddings | |
from database import search_vector | |
def search_images(values): | |
image = Image.new("RGBA", values["composite"].size, (255, 255, 255, 255)) | |
image.paste(values["composite"], mask=values["composite"]) | |
embedding = get_embeddings([image])[0] | |
results = search_vector(embedding, limit=100) | |
_deduplicated = '\t'.join(dict.fromkeys(result.kanji for result in results)) | |
# TODO Format the results better | |
# Huge boxes using the right font for each of them? | |
return f"Results: {_deduplicated}" | |
# TODO FIND OUT HOW TO CHANGE THE DEFAULT EDITOR TAB? | |
input_image = gr.ImageEditor( | |
label="Write the Kanji you want to search for", | |
show_label=False, | |
type="pil", | |
brush=gr.Brush( | |
default_size=16, | |
color_mode="fixed", | |
colors=["#000000", "#ffffff"], | |
), | |
) | |
output_box = gr.Textbox() | |
demo = gr.Interface( | |
fn=search_images, | |
inputs=[input_image], | |
outputs=output_box, | |
title="Kanji Lookup", | |
description=description, | |
article=article, | |
examples="examples", | |
# cache_examples=False, | |
# live=True, | |
) | |
if __name__ == "__main__": | |
demo.launch() | |