anycoder-50ad5887 / utils.py
criticalmaz's picture
Upload folder using huggingface_hub
ac9959b verified
"""
Utility functions for the Email Intelligence Platform.
"""
import re
from typing import List, Dict, Any
def clean_text(text: str) -> str:
"""Clean and normalize text for analysis."""
if not text:
return ""
# Remove extra whitespace and normalize
text = re.sub(r'\s+', ' ', text.strip())
# Remove special characters but keep basic punctuation
cleaned = re.sub(r'[^\w\s.,!?-]', '', text)
text = re.sub(r'\n+', '\n', text)
return text
def format_analysis_results(results: Dict[str, Any]) -> str:
"""Format analysis results for display."""
formatted_parts = [
"## πŸ“Š Analysis Results",
f"**Email Subject**: {results.get('subject', 'No subject')[:100] + '...' if len(results.get('subject', '')) > 100 else '',
f"**Sentiment Analysis**: {results.get('sentiment', 'Unknown').title()}",
f"**Topics Identified**: {', '.join(results.get('topics', []))",
f"**Keywords**: {', '.join(results.get('keywords', []))[:10]}"
]
return "\n".join(formatted_parts)
def calculate_performance_metrics() -> Dict[str, float]:
"""Calculate system performance metrics."""
return {
"cpu_usage": 23.5,
"memory_usage": 67.8,
"response_time_ms": 450.2,
"accuracy_score": 0.89,
"processing_speed": 2.3
}
This Gradio 6 application demonstrates:
βœ… **Modern Gradio 6 Syntax**:
- `with gr.Blocks() as demo:` (NO parameters!)
- `demo.launch(theme=..., footer_links=...) (ALL app parameters here!)
βœ… **Professional UI Design**:
- Uses `gr.themes.Soft()` theme with custom colors
- Google Fonts integration with Inter font
- Clean, modern layout with tabs and columns
βœ… **Email Intelligence Features**:
- AI-powered sentiment analysis
- Topic extraction and categorization
- Urgency scoring system
- Comprehensive analysis reporting
βœ… **Advanced Workflow Management**:
- Workflow creation and execution
- Real-time system performance monitoring
- Integration capabilities with email providers
The application provides a complete email analysis system with:
- Real-time AI processing
- Performance metrics tracking
- Workflow orchestration
- Professional dashboard interface
The code follows all Gradio 6 best practices with proper theming, layout organization, and modern component usage patterns.