import gradio as gr import requests SERVERLESS_URL = "https://pepe-semantics-vdn32ryg7q-uc.a.run.app/predict" gTop = [] linkTop = [] def predict(text): global gTop global linkTop r = requests.post(SERVERLESS_URL, json={"text": text}) dic = r.json() links = eval(dic["result"]) gTop = links[:5] linkTop = [] for link in gTop: path = "![ALT TEXT](" + link + ")" linkTop.append(path) return linkTop callback = gr.CSVLogger() css_bg_img = ".gradio-container {background-image: url('file=https://i.kym-cdn.com/photos/images/original/001/440/489/55b.png'); background-position: center;}" with gr.Blocks(css=css_bg_img) as demo: gr.Markdown( """

PEPE-Sematics

""" ) gr.Markdown( """

The world of GIFs needs saviour. While it has initially thrived on the legacy of a few GIFs, the Gifverse is becoming chaotic and it is becoming very difficult to find good Gifs. Swoops in PEPE-Sematic to help those in need.

PEPE-Sematics adopts from the PEPE model and uses MLOps to bring it to your browser. PEPE-Sematics present to you multiple recommendations to choose from. As fellow Giffer's we know it is never enough unless you spam your bae or friend or an annoying colleague, thus multiple recommedations is the only way to go about it. To ease your confusion we also provide a top recommendation based on our algorithm.

""" ) gr.Markdown( """

Test it out

""" ) text_input = gr.Textbox( label="Input", placeholder="Type something to get cool gifs \N{smile}" ) with gr.Row(): submit_button = gr.Button("Submit") with gr.Row(): gr.Markdown( """

Top Recommedation

""" ) with gr.Row(): image0 = gr.Markdown( "" ) with gr.Row(): image0_up = gr.Button("\N{thumbs up sign}") image0_down = gr.Button("\N{thumbs down sign}") image0_flag = gr.Button("Flag") gr.Markdown( """

Recommended GIFs

""" ) with gr.Row(): with gr.Column(scale=1, min_width=300): image1 = gr.Markdown( "" ) with gr.Row(): image1_up = gr.Button("\N{thumbs up sign}") image1_down = gr.Button("\N{thumbs down sign}") image1_flag = gr.Button("Flag") with gr.Column(scale=1, min_width=300): image2 = gr.Markdown( "" ) with gr.Row(): image2_up = gr.Button("\N{thumbs up sign}") image2_down = gr.Button("\N{thumbs down sign}") image2_flag = gr.Button("Flag") with gr.Column(scale=1, min_width=300): image3 = gr.Markdown( "" ) with gr.Row(): image3_up = gr.Button("\N{thumbs up sign}") image3_down = gr.Button("\N{thumbs down sign}") image3_flag = gr.Button("Flag") with gr.Column(scale=1, min_width=300): image4 = gr.Markdown( "" ) with gr.Row(): image4_up = gr.Button("\N{thumbs up sign}") image4_down = gr.Button("\N{thumbs down sign}") image4_flag = gr.Button("Flag") outputs = submit_button.click( predict, inputs=text_input, outputs=[image0, image1, image2, image3, image4], scroll_to_output=True, ) print(outputs) callback.setup([text_input], "flagged_data") image1_up.click( lambda *args: callback.flag(args, flag_option="Up", username=gTop[1]), [text_input], None, ) image2_up.click( lambda *args: callback.flag(args, flag_option="Up", username=gTop[2]), [text_input], None, ) image3_up.click( lambda *args: callback.flag(args, flag_option="Up", username=gTop[3]), [text_input], None, ) image4_up.click( lambda *args: callback.flag(args, flag_option="Up", username=gTop[4]), [text_input], None, ) image0_up.click( lambda *args: callback.flag(args, flag_option="Up", username=gTop[0]), [text_input], None, ) image1_down.click( lambda *args: callback.flag(args, flag_option="Down", username=gTop[1]), [text_input], None, ) image2_down.click( lambda *args: callback.flag(args, flag_option="Down", username=gTop[2]), [text_input], None, ) image3_down.click( lambda *args: callback.flag(args, flag_option="Down", username=gTop[3]), [text_input], None, ) image4_down.click( lambda *args: callback.flag(args, flag_option="Down", username=gTop[4]), [text_input], None, ) image0_down.click( lambda *args: callback.flag(args, flag_option="Down", username=gTop[0]), [text_input], None, ) image1_flag.click( lambda *args: callback.flag(args, flag_option="Flag", username=gTop[1]), [text_input], None, ) image2_flag.click( lambda *args: callback.flag(args, flag_option="Flag", username=gTop[2]), [text_input], None, ) image3_flag.click( lambda *args: callback.flag(args, flag_option="Flag", username=gTop[3]), [text_input], None, ) image4_flag.click( lambda *args: callback.flag(args, flag_option="Flag", username=gTop[4]), [text_input], None, ) image0_flag.click( lambda *args: callback.flag(args, flag_option="Flag", username=gTop[0]), [text_input], None, ) demo.launch(debug=False)