Spaces:
Sleeping
Sleeping
File size: 2,252 Bytes
cb6994c ec324a4 cb6994c ec324a4 cb6994c f0c7f36 cb6994c 0cd019f a6596ee 0cd019f fe212fe 0fb8bbb 0cd019f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
import os
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-pro-latest')
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-pro-latest')
response = model.generate_content([prompt, image], stream=True)
response.resolve() # Asegurarse de que la respuesta se resuelva antes de acceder a sus atributos
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()
# Convertir la imagen a modo RGB si tiene transparencia
if image.mode == 'RGBA':
image = image.convert('RGB')
image.save(img_bytes, format='JPEG')
img_bytes = img_bytes.getvalue()
# Generar respuesta a partir de la imagen y el texto
try:
response = generate_text_from_image(image, prompt) # Usar la imagen directamente
st.markdown(response)
except Exception as e:
st.error(f"Error al generar respuesta: {e}")
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) |