Efficiency-Agent / src /ui /sidebar.py
mriusero
fix: hallucinations
ba3d8a5
import gradio as gr
from src.agent.stream import respond
def sidebar_ui(state, width=700, visible=True):
with gr.Sidebar(width=width, visible=visible):
gr.Markdown("# Ask Agent")
gr.Markdown(
"""
Ask questions about production quality, efficiency, or issues.
The chatbot will provide insights and assistance based on the current production data.
"""
)
gr.Markdown(
"""
1. **Play** - Start the production simulation and generate synthetic data.
2. **Ask Agent** - Interact with the chatbot to get insights on production process, any issues and more.
Note: you can click on `Pause` or `Reset` to control the production simulation.
"""
)
with gr.Blocks():
with gr.Row(height=800):
with gr.Tabs():
with gr.TabItem("Agent"):
chatbot = gr.ChatInterface(
fn=respond,
type="messages",
multimodal=False,
chatbot=gr.Chatbot(
placeholder="⚡️ How can I help you today ?",
type="messages",
height=600,
show_copy_button=True,
),
show_progress='full',
stop_btn=True,
save_history=True,
examples=[
# ["What is the sum of 1+1 ?"],
["How is the production health now?"],
["What is the most critical issue in the production right now?"],
["What are the common downtimes faced in production?"],
["Can you explain me Cp & Cpk KPIs ?"],
["Which tool have the worst quality rate ?"],
["On what metrics should I focus to improve global efficiency?"],
# ["Can you provide insights on equipment performance?"],
# ["How can I optimize the workflow in the production area?"],
# ["How do I troubleshoot a specific piece of equipment?"],
# ["What are the best practices for maintaining production efficiency?"]
],
additional_inputs=[state],
cache_examples=False
)
sessions_state = gr.JSON(
label="Sessions State",
visible=False,
value=state.value,
)
state.change(
fn=lambda x: x,
inputs=state,
outputs=sessions_state,
)