|
import gradio as gr
|
|
from supplier import *
|
|
from tools import material_manager, project_manager
|
|
|
|
BASE_SAMPLES = ["What can you help me with?","What materials do we have?","What projects do we have today?"]
|
|
|
|
|
|
with gr.Blocks() as supply_chain_view:
|
|
with gr.Row():
|
|
with gr.Column():
|
|
gr.Label("Projects")
|
|
project_table = gr.Dataframe(project_manager.get_items())
|
|
|
|
with gr.Column():
|
|
gr.Label("Materials")
|
|
material_table = gr.DataFrame(material_manager.get_items())
|
|
|
|
with gr.Blocks() as chat_window:
|
|
with gr.Row():
|
|
with gr.Column():
|
|
chatbot = gr.Chatbot([])
|
|
chatbot_speech = gr.Audio()
|
|
with gr.Column():
|
|
chat_clear = gr.Button("Clear")
|
|
play_speech = gr.Button("Play")
|
|
chat_clear.click(lambda:None,None,chatbot,queue=False)
|
|
play_speech.click(text_to_audio,chatbot,chatbot_speech,queue=False)
|
|
|
|
with gr.Column():
|
|
msg = gr.Textbox()
|
|
submit = gr.Button("Submit")
|
|
gr.Examples(BASE_SAMPLES,msg,label="Examples")
|
|
audio = gr.Audio(sources="microphone",type="filepath")
|
|
|
|
audio.change(translate,audio,msg,queue=False)
|
|
msg.submit(send_chat,[msg,chatbot],[msg,chatbot])
|
|
submit.click(send_chat,[msg,chatbot],[msg,chatbot],queue=False)
|
|
|
|
|
|
|
|
iface = gr.TabbedInterface(
|
|
[chat_window,supply_chain_view],
|
|
["Chat","Supply Chain View"],
|
|
title="MiMinions.ai",
|
|
css="footer {visibility: hidden}")
|
|
|
|
if __name__ == "__main__":
|
|
iface.launch(
|
|
auth=[ ("admin","hello world"),
|
|
("guest","p@55word")],
|
|
server_port=8000,
|
|
share=True,
|
|
) |