Spaces:
Sleeping
Sleeping
File size: 1,727 Bytes
24990fd 17faa20 c7b4d2b 17faa20 c9e76f1 24990fd 17faa20 24990fd c7b4d2b 22121da c7b4d2b 22121da 2e2732b 24990fd c7b4d2b 22121da c7b4d2b |
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 |
import streamlit as st
import os
import google.generativeai as genai
from dotenv import load_dotenv
import fitz
load_dotenv()
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
genai.configure(api_key=GEMINI_API_KEY)
MODEL_NAME = "gemini-2.5-pro-exp-03-25"
def generate_response(user_input):
try:
model = genai.GenerativeModel(MODEL_NAME)
response = model.generate_content(user_input)
return response.text if response else "No se recibió respuesta."
except Exception as e:
return f"Error en la generación de contenido: {str(e)}"
def extract_text_from_pdf(pdf_file):
try:
doc = fitz.open(stream=pdf_file.read(), filetype="pdf")
text = "\n".join([page.get_text() for page in doc])
return text if text else "No se pudo extraer texto del PDF."
except Exception as e:
return f"Error al leer el PDF: {str(e)}"
st.set_page_config(page_title="Generador con Gemini API", layout="centered")
st.title("Chat con Gemini API")
user_input = st.text_area("Escribe algo:", "")
uploaded_file = st.file_uploader("📄 O sube un PDF", type=["pdf"])
if st.button("Generar respuesta"):
if uploaded_file:
st.write("⏳ Extrayendo texto del PDF...")
extracted_text = extract_text_from_pdf(uploaded_file)
st.text_area("📄 Texto extraído:", extracted_text, height=200)
user_input = extracted_text # Usar el texto extraído para la consulta
if user_input:
st.write("⏳ Procesando con Gemini...")
response = generate_response(user_input)
st.subheader("🔹 Respuesta de Gemini:")
st.write(response)
else:
st.warning("⚠️ Ingresa un texto o sube un PDF antes de continuar.")
|