Remove how-to instructions and model descriptions, add more sample questions
Browse files- Remove 'How to Use VayuChat' instruction section to save space
- Remove 'Current Model' section and model descriptions
- Remove instruction tooltips and help text
- Add more sample questions (15 total, up from 12)
- Include 3 harder analytical questions:
* Which station records highest variability in PM2.5?
* Calculate pollution improvement rate year-over-year by city
* Identify cities with PM2.5 levels consistently above 50 μg/m³ for >6 months
* Find correlation between PM2.5 and PM10 across different seasons and cities
- Cleaner, more focused interface with more query options
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
app.py
CHANGED
|
@@ -592,58 +592,34 @@ with st.sidebar:
|
|
| 592 |
"Which month had highest pollution?",
|
| 593 |
"Which city has worst air quality?",
|
| 594 |
"Show annual PM2.5 average",
|
| 595 |
-
"Compare winter vs summer pollution",
|
| 596 |
-
"List all cities by pollution level",
|
| 597 |
"Plot monthly average PM2.5 for 2023",
|
|
|
|
|
|
|
| 598 |
"Show seasonal pollution patterns",
|
| 599 |
-
"Which
|
| 600 |
-
"Create correlation plot between pollutants",
|
| 601 |
"What are peak pollution hours?",
|
| 602 |
-
"Compare weekday vs weekend levels",
|
| 603 |
"Show PM10 vs PM2.5 comparison",
|
|
|
|
| 604 |
"Plot yearly trend analysis",
|
| 605 |
-
"
|
| 606 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
| 607 |
]
|
| 608 |
|
| 609 |
# Quick query buttons in sidebar with helpful descriptions
|
| 610 |
selected_prompt = None
|
| 611 |
|
| 612 |
-
# Add description for quick queries
|
| 613 |
-
st.markdown("""
|
| 614 |
-
<div style='background: #fef9e7; border: 1px solid #fbbf24; border-radius: 6px; padding: 0.5rem; margin-bottom: 0.75rem; font-size: 0.75rem; color: #92400e;'>
|
| 615 |
-
💡 <strong>Click any question below</strong> to start analyzing the air quality data instantly
|
| 616 |
-
</div>
|
| 617 |
-
""", unsafe_allow_html=True)
|
| 618 |
|
| 619 |
-
for i, question in enumerate(questions[:
|
| 620 |
# Simple left-aligned buttons without icons for cleaner look
|
| 621 |
if st.button(question, key=f"sidebar_prompt_{i}", use_container_width=True, help=f"Click to analyze: {question}"):
|
| 622 |
selected_prompt = question
|
| 623 |
|
| 624 |
st.markdown("---")
|
| 625 |
|
| 626 |
-
# Current Model Info
|
| 627 |
-
st.markdown("### Current Model")
|
| 628 |
-
st.markdown(f"**{model_name}**")
|
| 629 |
-
|
| 630 |
-
model_descriptions = {
|
| 631 |
-
"llama3.1": "Fast and efficient for general queries",
|
| 632 |
-
"llama3.3": "Most advanced LLaMA model for complex reasoning",
|
| 633 |
-
"mistral": "Balanced performance and speed",
|
| 634 |
-
"gemma": "Google's lightweight model",
|
| 635 |
-
"gemini-pro": "Google's most powerful model",
|
| 636 |
-
"gpt-oss-20b": "OpenAI's compact open-weight GPT for everyday tasks",
|
| 637 |
-
"gpt-oss-120b": "OpenAI's massive open-weight GPT for nuanced responses",
|
| 638 |
-
"deepseek-R1": "DeepSeek's distilled LLaMA model for efficient reasoning",
|
| 639 |
-
"llama4 maverik": "Meta's LLaMA 4 Maverick — high-performance instruction model",
|
| 640 |
-
"llama4 scout": "Meta's LLaMA 4 Scout — optimized for adaptive reasoning"
|
| 641 |
-
}
|
| 642 |
-
|
| 643 |
-
if model_name in model_descriptions:
|
| 644 |
-
st.caption(model_descriptions[model_name])
|
| 645 |
-
|
| 646 |
-
st.markdown("---")
|
| 647 |
|
| 648 |
# Clear Chat Button
|
| 649 |
if st.button("Clear Chat", use_container_width=True):
|
|
@@ -663,19 +639,6 @@ if "processing" not in st.session_state:
|
|
| 663 |
if "session_id" not in st.session_state:
|
| 664 |
st.session_state.session_id = str(uuid.uuid4())
|
| 665 |
|
| 666 |
-
# Helpful instructions section
|
| 667 |
-
if not st.session_state.responses:
|
| 668 |
-
st.markdown("""
|
| 669 |
-
<div style='background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 8px; padding: 1.5rem; margin-bottom: 1rem; border-left: 4px solid #3b82f6;'>
|
| 670 |
-
<h4 style='margin: 0 0 0.5rem 0; color: #1e293b; font-size: 1rem;'>💡 How to Use VayuChat</h4>
|
| 671 |
-
<p style='margin: 0.25rem 0; font-size: 0.875rem; color: #475569;'>
|
| 672 |
-
• <strong>Click any quick query</strong> from the sidebar to start analyzing air quality data<br>
|
| 673 |
-
• <strong>Type your own question</strong> in the chat box below<br>
|
| 674 |
-
• <strong>Ask about trends, comparisons, or specific data points</strong><br>
|
| 675 |
-
• <strong>Request visualizations</strong> with phrases like "plot" or "show chart"
|
| 676 |
-
</p>
|
| 677 |
-
</div>
|
| 678 |
-
""", unsafe_allow_html=True)
|
| 679 |
|
| 680 |
|
| 681 |
|
|
|
|
| 592 |
"Which month had highest pollution?",
|
| 593 |
"Which city has worst air quality?",
|
| 594 |
"Show annual PM2.5 average",
|
|
|
|
|
|
|
| 595 |
"Plot monthly average PM2.5 for 2023",
|
| 596 |
+
"List all cities by pollution level",
|
| 597 |
+
"Compare winter vs summer pollution",
|
| 598 |
"Show seasonal pollution patterns",
|
| 599 |
+
"Which areas exceed WHO guidelines?",
|
|
|
|
| 600 |
"What are peak pollution hours?",
|
|
|
|
| 601 |
"Show PM10 vs PM2.5 comparison",
|
| 602 |
+
"Compare weekday vs weekend levels",
|
| 603 |
"Plot yearly trend analysis",
|
| 604 |
+
"Show pollution distribution by city",
|
| 605 |
+
"Create correlation plot between pollutants",
|
| 606 |
+
"Which station records highest variability in PM2.5?",
|
| 607 |
+
"Calculate pollution improvement rate year-over-year by city",
|
| 608 |
+
"Identify cities with PM2.5 levels consistently above 50 μg/m³ for >6 months",
|
| 609 |
+
"Find correlation between PM2.5 and PM10 across different seasons and cities"
|
| 610 |
]
|
| 611 |
|
| 612 |
# Quick query buttons in sidebar with helpful descriptions
|
| 613 |
selected_prompt = None
|
| 614 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 615 |
|
| 616 |
+
for i, question in enumerate(questions[:15]): # Show more questions
|
| 617 |
# Simple left-aligned buttons without icons for cleaner look
|
| 618 |
if st.button(question, key=f"sidebar_prompt_{i}", use_container_width=True, help=f"Click to analyze: {question}"):
|
| 619 |
selected_prompt = question
|
| 620 |
|
| 621 |
st.markdown("---")
|
| 622 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 623 |
|
| 624 |
# Clear Chat Button
|
| 625 |
if st.button("Clear Chat", use_container_width=True):
|
|
|
|
| 639 |
if "session_id" not in st.session_state:
|
| 640 |
st.session_state.session_id = str(uuid.uuid4())
|
| 641 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 642 |
|
| 643 |
|
| 644 |
|