JeCabrera commited on
Commit
dd60934
verified
1 Parent(s): a4a7490

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -8
app.py CHANGED
@@ -38,7 +38,7 @@ def transform_history(history):
38
  new_history.append({"parts": [{"text": chat[1]}], "role": "model"})
39
  return new_history
40
 
41
- # Funci贸n de respuesta
42
  def response(message, history):
43
  global chat
44
 
@@ -46,7 +46,7 @@ def response(message, history):
46
  chat.history = transform_history(history)
47
 
48
  # Enviar el mensaje al modelo y obtener la respuesta
49
- response = chat.send_message(message)
50
  response.resolve()
51
 
52
  # Mostrar la respuesta car谩cter por car谩cter
@@ -54,9 +54,29 @@ def response(message, history):
54
  time.sleep(0.01)
55
  yield response.text[: i + 1]
56
 
57
- # Configuraci贸n de la interfaz de Gradio
58
- gr.ChatInterface(
59
- response,
60
- title="Chat con Gemini 1.5 Flash",
61
- textbox=gr.Textbox(placeholder="Escribe tu pregunta para Gemini"),
62
- ).launch(debug=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  new_history.append({"parts": [{"text": chat[1]}], "role": "model"})
39
  return new_history
40
 
41
+ # Funci贸n de respuesta que maneja el texto y los archivos multimodales
42
  def response(message, history):
43
  global chat
44
 
 
46
  chat.history = transform_history(history)
47
 
48
  # Enviar el mensaje al modelo y obtener la respuesta
49
+ response = chat.send_message(message["text"])
50
  response.resolve()
51
 
52
  # Mostrar la respuesta car谩cter por car谩cter
 
54
  time.sleep(0.01)
55
  yield response.text[: i + 1]
56
 
57
+ # Funci贸n para manejar los archivos cargados y las im谩genes
58
+ def count_images(message, history):
59
+ num_images = len(message["files"]) # Contar las im谩genes cargadas en el mensaje actual
60
+ total_images = 0
61
+ for msg in history: # Contar todas las im谩genes en el historial
62
+ if isinstance(msg["content"], tuple): # Si el contenido es una tupla, es un archivo
63
+ total_images += 1
64
+ return f"You just uploaded {num_images} images, total uploaded: {total_images + num_images}"
65
+
66
+ # Crear la interfaz de Gradio
67
+ demo = gr.ChatInterface(
68
+ fn=response, # Funci贸n de chat para manejar texto y archivos
69
+ type="messages", # Tipo de chat
70
+ examples=[ # Ejemplos iniciales de mensajes
71
+ {"text": "No files", "files": []}
72
+ ],
73
+ multimodal=True, # Activar la modalidad multimodal
74
+ textbox=gr.MultimodalTextbox( # Configuraci贸n del cuadro de texto multimodal
75
+ file_count="multiple", # Permitir m煤ltiples archivos
76
+ file_types=["image"], # Aceptar solo im谩genes
77
+ sources=["upload", "microphone"] # Fuentes de entrada: carga de archivos y micr贸fono
78
+ )
79
+ )
80
+
81
+ # Iniciar la interfaz
82
+ demo.launch()