Spaces:
Sleeping
Sleeping
import gradio as gr | |
from gradio_client import Client | |
DEBUG_MODE = True | |
MESAGE_HEADER = """ | |
# 🔌👩🏻💻 API Demo (Client component) 🔌👩🏻💻 | |
Welcome to my simple demonstration of the gradio potential as an API. | |
It is made of 2 components: *API_demo_server* and *API_demo_client*. | |
* Server component: 🔌🌐 [Nuno-Tome/API_demo_server](Nuno-Tome/aPI_demo_server) | |
* Client component: 🔌👩🏻💻 [Nuno-Tome/API_demo_client](Nuno-Tome/aPI_demo_client) | |
**Just write you message and watch it be returned by the server.** | |
""" | |
def get_bmc_markdown(): | |
bmc_link = "https://www.buymeacoffee.com/nuno.tome" | |
image_url = "https://helloimjessa.files.wordpress.com/2021/06/bmc-button.png" # Image URL | |
image_size = "150" # Image size | |
image_url_full = image_url + "?w=" + image_size | |
image_link_markdown = f"[![Buy Me a Coffee]({image_url_full})]({bmc_link})" | |
full_text = """ | |
### If you like this project, please consider liking it or buying me a coffee. It will help me to keep working on this and other projects. Thank you! | |
# """ + image_link_markdown | |
return full_text | |
def send_request(text): | |
client = Client("Nuno-Tome/API_demo_server") | |
result = client.predict( | |
text, | |
api_name="/predict" | |
) | |
return result | |
with gr.Blocks() as demo: | |
gr.Markdown(MESAGE_HEADER) | |
gr.DuplicateButton() | |
gr.Markdown(get_bmc_markdown()) | |
with gr.Row(): | |
with gr.Column(): | |
gr.Markdown("**Type your message:**") | |
inp = gr.TextArea(placeholder="What is your name?") | |
with gr.Column(): | |
gr.Markdown("**This is your gradio api request response:**") | |
out = gr.JSON() | |
btn = gr.Button("Send request to server") | |
btn.click(fn=send_request, inputs=inp, outputs=out) | |
demo.launch(share=True) |