Spaces:
Runtime error
Runtime error
import gradio as gr | |
from gradio import ChatMessage | |
from main import run_agent | |
def chat_interface(history, user_input): | |
if not user_input.strip(): | |
return history, "Per favore, inserisci una domanda o un messaggio." | |
# Aggiungi messaggio utente | |
history = history + [ChatMessage(role="user", content=user_input)] | |
try: | |
# Ottieni risposta dall'agent | |
response = run_agent(user_input) | |
# Controllo per risposte vuote | |
if not response.strip(): | |
response = "Non ho capito la domanda, per favore riprova." | |
# Aggiungi messaggio assistente | |
history = history + [ChatMessage(role="assistant", content=response)] | |
except Exception as e: | |
history = history + [ChatMessage(role="assistant", content=f"Errore: {str(e)}")] | |
return history, "" | |
with gr.Blocks() as demo: | |
gr.Markdown("# Agent Conversazionale con smolagents") | |
chatbot = gr.Chatbot(type="messages") | |
user_input = gr.Textbox(placeholder="Scrivi la tua domanda qui...", lines=2) | |
submit_btn = gr.Button("Invia") | |
# Indicazione di caricamento | |
with gr.Column(): | |
loading_indicator = gr.HTML("<div id='loading-indicator' style='display:none;'>Caricamento...</div>") | |
submit_btn.click( | |
lambda user_input: [chat_interface(chatbot, user_input), user_input], | |
inputs=[chatbot, user_input], | |
outputs=[chatbot, user_input], | |
#fn_name="generate_response" | |
) | |
loading_trigger = gr.Button("Trigger Loading Indicator") | |
def show_loading_indicator(): | |
return "<div id='loading-indicator' style='display:block;'>Caricamento...</div>" | |
loading_trigger.click(show_loading_indicator, outputs=loading_indicator) | |
user_input.submit(chat_interface, inputs=[chatbot, user_input], outputs=[chatbot, user_input]) | |
if __name__ == "__main__": | |
demo.launch(server_name="127.0.0.1", server_port=7860, debug=True) |