Brunohdez commited on
Commit
758f1a2
verified
1 Parent(s): 926fbab

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +2 -61
app.py CHANGED
@@ -50,52 +50,11 @@ def extract_text_from_pdf(pdf_file):
50
  except Exception as e:
51
  return f"Se produjo un error al leer el PDF: {e}"
52
 
53
- # Funci贸n para generar una imagen a partir de una descripci贸n
54
- def generate_image(description):
55
- try:
56
- client = genai.Client(api_key=GEMINI_API_KEY)
57
-
58
- # Suponiendo que la API de Gemini tiene un endpoint para generar im谩genes
59
- model = "gemini-image-model" # Suponiendo que este es el modelo correcto
60
- contents = [
61
- types.Content(
62
- role="user",
63
- parts=[types.Part.from_text(text=description)],
64
- ),
65
- ]
66
-
67
- # Configuraci贸n de la generaci贸n de im谩genes, puedes ajustar estos par谩metros
68
- generate_content_config = types.GenerateContentConfig(
69
- temperature=0.7,
70
- top_p=0.95,
71
- top_k=64,
72
- max_output_tokens=2048, # Reducir los tokens si es necesario
73
- response_mime_type="image/png", # Ajustar a "image/jpeg" si la API lo requiere
74
- )
75
-
76
- # Suponiendo que la API devuelva una URL de la imagen
77
- response_image_url = ""
78
- for chunk in client.models.generate_content_stream(
79
- model=model,
80
- contents=contents,
81
- config=generate_content_config,
82
- ):
83
- response_image_url += chunk.text # Se supone que aqu铆 obtenemos la URL de la imagen generada
84
-
85
- # Verifica si obtuviste una URL
86
- if response_image_url:
87
- return response_image_url
88
- else:
89
- return "No se pudo generar la imagen, la respuesta est谩 vac铆a."
90
-
91
- except Exception as e:
92
- return f"Se produjo un error al generar la imagen: {e}"
93
-
94
  # Aplicaci贸n Streamlit
95
  st.title("Gemini LLM App")
96
 
97
- # Selecci贸n entre Chat, PDF o Generaci贸n de Imagen
98
- option = st.radio("Elige una opci贸n:", ("Hablar con el chat", "Subir y preguntar sobre un PDF", "Generar una imagen"))
99
 
100
  # Opci贸n 1: Hablar con el chat
101
  if option == "Hablar con el chat":
@@ -143,21 +102,3 @@ elif option == "Subir y preguntar sobre un PDF":
143
  st.error("No se pudo extraer texto del archivo PDF. Por favor, intenta con otro archivo.")
144
  else:
145
  st.info("Por favor, sube un archivo PDF para empezar.")
146
-
147
- # Opci贸n 3: Generar una imagen
148
- elif option == "Generar una imagen":
149
- # Entrada para la descripci贸n de la imagen
150
- image_description = st.text_area("Introduce una descripci贸n para generar la imagen:", placeholder="Escribe aqu铆 lo que quieres ver en la imagen...")
151
-
152
- if st.button("Generar Imagen"):
153
- if image_description.strip():
154
- with st.spinner("Generando imagen..."):
155
- image_url = generate_image(image_description)
156
-
157
- if image_url.startswith("http"): # Verifica si se obtuvo una URL v谩lida de la imagen
158
- st.success("隆Imagen generada!")
159
- st.image(image_url, caption="Imagen generada por Gemini", use_column_width=True)
160
- else:
161
- st.error(f"No se pudo generar la imagen. Error: {image_url}")
162
- else:
163
- st.error("Por favor, introduce una descripci贸n para generar la imagen.")
 
50
  except Exception as e:
51
  return f"Se produjo un error al leer el PDF: {e}"
52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  # Aplicaci贸n Streamlit
54
  st.title("Gemini LLM App")
55
 
56
+ # Selecci贸n entre Chat o PDF
57
+ option = st.radio("Elige una opci贸n:", ("Hablar con el chat", "Subir y preguntar sobre un PDF"))
58
 
59
  # Opci贸n 1: Hablar con el chat
60
  if option == "Hablar con el chat":
 
102
  st.error("No se pudo extraer texto del archivo PDF. Por favor, intenta con otro archivo.")
103
  else:
104
  st.info("Por favor, sube un archivo PDF para empezar.")