Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import time | |
| def responder(message, history): | |
| resposta = f"Recebi a tua mensagem: '{message}'. Este é um chatbot principal em Gradio com visual simples e limpo." | |
| texto = "" | |
| for palavra in resposta.split(): | |
| texto += palavra + " " | |
| time.sleep(0.03) | |
| yield texto | |
| theme = gr.themes.Soft( | |
| primary_hue="blue", | |
| secondary_hue="slate", | |
| neutral_hue="slate" | |
| ).set( | |
| body_background_fill="#0f172a", | |
| body_text_color="#f8fafc", | |
| block_background_fill="#111827", | |
| block_border_color="#1f2937", | |
| button_primary_background_fill="#2563eb", | |
| button_primary_background_fill_hover="#1d4ed8", | |
| input_background_fill="#0b1220" | |
| ) | |
| custom_css = """ | |
| #title-box { | |
| text-align: center; | |
| padding: 20px 10px 10px 10px; | |
| } | |
| #title-box h1 { | |
| font-size: 2.2rem; | |
| margin-bottom: 8px; | |
| } | |
| #title-box p { | |
| color: #cbd5e1; | |
| font-size: 1rem; | |
| } | |
| footer {display: none !important;} | |
| """ | |
| with gr.Blocks(fill_height=True) as demo: | |
| gr.HTML(""" | |
| <div id="title-box"> | |
| <h1>🤖 Meu Chatbot</h1> | |
| <p>Um chatbot feito em Gradio como interface principal.</p> | |
| </div> | |
| """) | |
| gr.ChatInterface( | |
| fn=responder, | |
| examples=[ | |
| "Olá, quem és tu?", | |
| "Explica-me o que é Gradio.", | |
| "Dá-me ideias para um projeto em Python.", | |
| "Como posso criar um chatbot mais bonito?" | |
| ] | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch( | |
| server_name="0.0.0.0", | |
| server_port=7860, | |
| theme=theme, | |
| css=custom_css | |
| ) |