|
import gradio as gr |
|
|
|
from gemini_api import model_api, sentiment, category, ord_num |
|
|
|
cust_qry_resp = {"senti":"", "cat":"", "num":""} |
|
|
|
|
|
|
|
|
|
|
|
with gr.Blocks(title="Customer Support Assistant", |
|
analytics_enabled=False) as app: |
|
gr.Markdown("Customer Support Assistant") |
|
|
|
with gr.Row(): |
|
cust_qry = gr.Textbox(lines=5, type="text", label="Customer Query") |
|
|
|
btn_cust_qry = gr.Button("Analyze Query") |
|
|
|
|
|
@gr.render(inputs=[cust_qry], triggers=[btn_cust_qry.click]) |
|
|
|
def invoke_model(user_input): |
|
if len(user_input) == 0: |
|
gr.Markdown("## No Customer Query Provided") |
|
else: |
|
senti = model_api(user_input, sentiment) |
|
cat = model_api(user_input, category) |
|
num = model_api(user_input, ord_num) |
|
|
|
with gr.Row(): |
|
gr.Textbox(lines=1, type="text", label="Customer Sentiment", value=senti) |
|
with gr.Row(): |
|
gr.Textbox(lines=1, type="text", label="Order Category", value=cat) |
|
with gr.Row(): |
|
gr.Textbox(lines=1, type="text", label="Order Number", value=num) |
|
if num != "Order Number not provided.": |
|
btn_ord_det = gr.Button("Fetch Order Details") |
|
if senti == "NEGATIVE" and num == "Order Number not provided.": |
|
gr.Textbox(lines=1, type="text", label="Next Step", value="Ask Order Number") |
|
|
|
|
|
if __name__ == "__main__": |
|
app.launch(server_name="0.0.0.0") |