cli_compare_advanced.py
1 """ 2 CLI Compare Example - Advanced Usage 3 4 This example demonstrates advanced comparison features including 5 custom mode configurations and result analysis. 6 """ 7 8 from praisonai.cli.features.compare import ( 9 CompareHandler, 10 CompareResult, 11 ModeResult, 12 get_mode_config, 13 save_compare_result, 14 format_comparison_table, 15 ) 16 17 # Create custom mode configurations 18 custom_modes = { 19 "fast": {"llm": "gpt-4o-mini"}, 20 "accurate": {"llm": "gpt-4o", "planning": True}, 21 "research": {"research": True, "web_search": True}, 22 } 23 24 # Create handler with verbose output 25 handler = CompareHandler(output="verbose") 26 27 # Example: Manually create comparison results for analysis 28 # (useful for testing without API calls) 29 mock_result = CompareResult( 30 query="What are the latest AI trends?", 31 comparisons=[ 32 ModeResult( 33 mode="basic", 34 output="AI trends include LLMs, multimodal models, and agents.", 35 execution_time_ms=1234.5, 36 model_used="gpt-4o-mini", 37 tools_used=[] 38 ), 39 ModeResult( 40 mode="tools", 41 output="Based on recent search results, AI trends in 2024 include...", 42 execution_time_ms=2567.8, 43 model_used="gpt-4o-mini", 44 tools_used=["internet_search"] 45 ), 46 ModeResult( 47 mode="research", 48 output="Comprehensive research shows that AI trends...", 49 execution_time_ms=5432.1, 50 model_used="gpt-4o-mini", 51 tools_used=["internet_search", "web_scraper"] 52 ), 53 ] 54 ) 55 56 # Get summary statistics 57 summary = mock_result.get_summary() 58 print("Comparison Summary:") 59 print(f" Fastest mode: {summary['fastest']} ({summary['fastest_time_ms']:.1f}ms)") 60 print(f" Slowest mode: {summary['slowest']} ({summary['slowest_time_ms']:.1f}ms)") 61 62 # Format as table 63 print("\n" + format_comparison_table(mock_result)) 64 65 # Convert to JSON for storage 66 print("\nJSON Output:") 67 print(mock_result.to_json()) 68 69 # Save to file 70 # save_compare_result(mock_result, "advanced_comparison.json") 71 72 print("\n--- CLI Usage Examples ---") 73 print(""" 74 # Basic comparison 75 praisonai "What is AI?" --compare "basic,tools" 76 77 # Compare with specific model 78 praisonai "Explain quantum computing" --compare "basic,planning,research" --model gpt-4o 79 80 # Save results to file 81 praisonai "Latest tech news" --compare "basic,tools,web_search" --compare-output results.json 82 83 # Verbose output 84 praisonai "Write a poem" --compare "basic,planning" --verbose 85 """)