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"[]({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) |