from dotenv import load_dotenv import os import streamlit as st from cases.optimize_content import optimize_content_with_langchain from cases.content_generation import content_generation_with_langchain load_dotenv() OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") def display_home(): st.title("Bienvenido a la página de inicio") st.markdown(''' En esta aplicación, exploraremos los siguientes casos de uso de SEO potenciado por IA: 1. **Optimización de Contenido**: Las herramientas de AI pueden sugerir mejoras a tu contenido, como cambios en la redacción o la ubicación de palabras clave, para que sea más amigable para SEO. También pueden analizar el rendimiento SEO de tu contenido existente y sugerir mejoras. 2. **Generación de Contenido**: Las herramientas de AI pueden generar tu contenido, como artículos, newsletters o posts para RRSS, de modo que sea más amigable para SEO. Para continuar, selecciona el caso de uso en la barra lateral. ''') def handle_seo_action(text, action, action_text): if text: with st.spinner(f'{action_text}...'): return action(text, OPENAI_API_KEY) return None def display_content_optimization(): st.title("Optimización de Contenido") st.markdown("Por favor, copia y pega tu artículo a continuación:") article_content = st.text_area("Contenido del Artículo") optimized_content = handle_seo_action(article_content, optimize_content_with_langchain, 'Optimizando el contenido para SEO') if optimized_content: st.success('Optimización de contenido completada.') st.write(optimized_content) def display_content_generation(): st.title("Generación de Contenido") st.markdown("Por favor, una descripción del tipo de contenido que deseas generar:") content_type = st.text_area("Tipo de Contenido (Artículo de ventas, Posts sobre IA en RRSS, Newsletter de Suscripcion mensual sobre Tecnologia)") generated_content = handle_seo_action(content_type, content_generation_with_langchain, 'Creando el contenido optimizado para SEO') if generated_content: st.success('Generación de contenido completada.') st.write(generated_content) MENU_FUNCTIONS = { 'Home': display_home, 'Optimización de Contenido': display_content_optimization, 'Generación de Contenido': display_content_generation, } def main(): st.sidebar.title("Menú") selection = st.sidebar.radio("SEO Powered By AI", list(MENU_FUNCTIONS.keys())) menu_function = MENU_FUNCTIONS[selection] menu_function() if __name__ == '__main__': main()