riabayonaor's picture
Update app.py
0cd019f verified
raw
history blame
No virus
1.86 kB
import streamlit as st
import google.generativeai as genai
from PIL import Image
import io
# Configurar la API de Gemini
api_key = os.getenv('GEMINI_API_KEY')
genai.configure(api_key=api_key)
# Funci贸n para generar contenido a partir de texto
def generate_text(prompt):
model = genai.GenerativeModel('gemini-1.5-flash')
response = model.generate_content(prompt)
return response.text
# Funci贸n para generar contenido a partir de texto e imagen
def generate_text_from_image(image, prompt):
model = genai.GenerativeModel('gemini-1.5-flash')
response = model.generate_content([prompt, image], stream=True)
return response.text
# Configuraci贸n de la aplicaci贸n Streamlit
st.title('Aplicaci贸n con Gemini Vision')
st.write('Esta es una aplicaci贸n de demostraci贸n utilizando la API de Gemini Vision.')
# Cargar imagen
uploaded_file = st.file_uploader("Elige una imagen", type=["jpg", "jpeg", "png"])
if uploaded_file is not None:
# Mostrar la imagen cargada
image = Image.open(uploaded_file)
st.image(image, caption='Imagen Cargada', use_column_width=True)
# Texto de entrada del usuario
prompt = st.text_input("Introduce el texto para generar la respuesta:")
if st.button("Generar Respuesta"):
# Convertir la imagen a bytes
img_bytes = io.BytesIO()
image.save(img_bytes, format='JPEG')
img_bytes = img_bytes.getvalue()
# Generar respuesta a partir de la imagen y el texto
response = generate_text_from_image(img_bytes, prompt)
st.markdown(response)
else:
# Texto de entrada del usuario
prompt = st.text_input("Introduce el texto para generar la respuesta:")
if st.button("Generar Respuesta"):
# Generar respuesta a partir del texto
response = generate_text(prompt)
st.markdown(response)