| ''' |
| Author: Qiguang Chen |
| LastEditors: Qiguang Chen |
| Date: 2023-02-07 15:42:32 |
| LastEditTime: 2023-02-19 21:04:03 |
| Description: |
| |
| ''' |
| import argparse |
| import gradio as gr |
|
|
| from common.config import Config |
| from common.model_manager import ModelManager |
| from common.utils import str2bool |
|
|
|
|
| parser = argparse.ArgumentParser() |
| parser.add_argument('--config_path', '-cp', type=str, default="config/examples/from_pretrained.yaml") |
| parser.add_argument('--push_to_public', '-p', type=str2bool, nargs='?', |
| const=True, default=False, |
| help="Push to public network.") |
| args = parser.parse_args() |
| config = Config.load_from_yaml(args.config_path) |
| config.base["train"] = False |
| config.base["test"] = False |
|
|
| model_manager = ModelManager(config) |
| model_manager.init_model() |
|
|
|
|
| def text_analysis(text): |
| print(text) |
| data = model_manager.predict(text) |
| html = """<link href="https://cdn.staticfile.org/twitter-bootstrap/5.1.1/css/bootstrap.min.css" rel="stylesheet"> |
| <script src="https://cdn.staticfile.org/twitter-bootstrap/5.1.1/js/bootstrap.bundle.min.js"></script>""" |
| html += """<div style="background: white; padding: 16px;"><b>Intent:</b>""" |
|
|
| for intent in data["intent"]: |
| html += """<button type="button" class="btn btn-white"> |
| <span class="badge text-dark btn-light">""" + intent + """</span> </button>""" |
| html += """<br /> <b>Slot:</b>""" |
| for t, slot in zip(data["text"], data["slot"]): |
| html += """<button type="button" class="btn btn-white">"""+t+"""<span class="badge text-dark" style="background-color: rgb(255, 255, 255); |
| color: rgb(62 62 62); |
| box-shadow: 2px 2px 7px 1px rgba(210, 210, 210, 0.42);">"""+slot+\ |
| """</span> |
| </button>""" |
| html+="</div>" |
| return html |
|
|
|
|
| demo = gr.Interface( |
| text_analysis, |
| gr.Textbox(placeholder="Enter sentence here..."), |
| ["html"], |
| examples=[ |
| ["i would like to find a flight from charlotte to las vegas that makes a stop in st louis"], |
| ], |
| ) |
| if args.push_to_public: |
| demo.launch(share=True) |
| else: |
| demo.launch() |
|
|