import gradio as gr from geminisearch import webSearch # Concise example questions for MCP interface mcp_examples = [ "What are the latest AI technology developments?", "What's happening in global news today?", "What's the current cryptocurrency market status?" ] # Custom CSS for better styling custom_css = """ .gradio-container { max-width: 1200px !important; margin: auto !important; } .chatbot { border-radius: 15px !important; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important; } .input-container { border-radius: 25px !important; border: 2px solid #e1e5e9 !important; } .input-container:focus-within { border-color: #4285f4 !important; box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1) !important; } h1 { text-align: center !important; color: #1a73e8 !important; font-weight: 600 !important; margin-bottom: 2rem !important; } .examples { margin-top: 1rem !important; } .example { border-radius: 20px !important; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important; color: white !important; border: none !important; transition: all 0.3s ease !important; } .example:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 25px rgba(0,0,0,0.2) !important; } """ # Create the enhanced interface app = gr.ChatInterface( webSearch, chatbot=gr.Chatbot( height=500, show_label=False, container=True, bubble_full_width=False, render_markdown=True ), type="messages", textbox=gr.Textbox( placeholder="🔍 Ask me anything about current events, news, or real-time information...", container=False, scale=7, show_label=False, lines=1, max_lines=3 ), title="✨ Quasar LLM Web Chat", description="Quasar LLM powered interface for real-time web search and intelligent responses.", theme=gr.themes.Soft( primary_hue="blue", secondary_hue="slate", neutral_hue="slate", font=gr.themes.GoogleFont("Inter") ), examples=mcp_examples, cache_examples=False, css=custom_css, analytics_enabled=False, show_progress="minimal" ) # Additional configuration app.queue( default_concurrency_limit=20, max_size=50 ) if __name__ == "__main__": app.launch( mcp_server=True, share=False, inbrowser=True, show_error=True, quiet=False, favicon_path=None, ssl_verify=False )