import gradio as gr # Diccionario de clientes clientes = { "cliente1": { "nombre": "Juan Pérez", "salario": 5000, "inversiones": 15000, "edad": 35, "objetivos": "ahorro para la jubilación" }, "cliente2": { "nombre": "María López", "salario": 7500, "inversiones": 30000, "edad": 42, "objetivos": "compra de una vivienda" } } # Función para generar la carta de recomendación def generar_carta_inversion(cliente_id: str, salario_mensual: float, objetivo: str) -> str: """Genera una carta personalizada para el cliente con base en el salario mensual y su objetivo financiero.""" cliente = clientes.get(cliente_id) if not cliente: return "Cliente no encontrado." nombre = cliente["nombre"] inversiones = cliente["inversiones"] edad = cliente["edad"] # Plantilla de la carta carta = f""" {nombre} Dirección del Cliente Ciudad, Estado, Código Postal Fecha: [Fecha Actual] Estimado/a {nombre}, Espero que este mensaje le encuentre bien. Me dirijo a usted para agradecerle su confianza en nuestro banco y para proporcionarle algunas recomendaciones personalizadas sobre cómo podría invertir de manera más eficiente, con base en sus actuales ingresos y objetivos financieros. Dado que actualmente tiene un salario mensual de ${salario_mensual:.2f} y ha acumulado inversiones por un total de ${inversiones:.2f}, creo que es un buen momento para evaluar las siguientes estrategias de inversión, teniendo en cuenta su edad de {edad} años y su objetivo de {objetivo}: 1. **Diversificación de Portafolio**: Recomiendo considerar la diversificación de sus inversiones en diferentes clases de activos, como acciones, bonos, y bienes raíces. Esto puede ayudar a mitigar riesgos y maximizar sus retornos. 2. **Fondos de Jubilación**: Como su objetivo principal es {objetivo}, le sugiero destinar una parte de sus ingresos a fondos de jubilación o planes de pensiones, aprovechando las ventajas fiscales que estos productos ofrecen. 3. **Inversiones de Bajo Riesgo**: Invertir en bonos o fondos de inversión de bajo riesgo puede ser una buena manera de proteger su capital, especialmente dado el horizonte a largo plazo de su objetivo. 4. **Asesoría Continua**: Finalmente, le recomiendo programar una reunión con uno de nuestros asesores financieros para revisar regularmente su portafolio y ajustar su estrategia de inversión según las condiciones del mercado y sus necesidades personales. Agradezco nuevamente su confianza en nosotros. Si tiene alguna pregunta o si desea discutir estas recomendaciones con más detalle, no dude en ponerse en contacto conmigo o con su asesor financiero de confianza. Quedo a su disposición para cualquier consulta. Atentamente, [Nombre del Asesor] Asesor Financiero Nombre del Banco Teléfono: [Número de Teléfono] Email: [Correo Electrónico] """ return carta # Configuración de la interfaz de Gradio def interfaz_gradio(cliente_id, salario_mensual, objetivo): return generar_carta_inversion(cliente_id, salario_mensual, objetivo) # Configuramos la interfaz de Gradio with gr.Blocks() as demo: gr.Markdown("# Generador de Carta de Recomendación Financiera") cliente_id = gr.Textbox(label="ID del Cliente") salario_mensual = gr.Number(label="Salario Mensual") objetivo = gr.Textbox(label="Objetivo Financiero") output = gr.Textbox(label="Carta de Recomendación Generada") generar_btn = gr.Button("Generar Carta") generar_btn.click(interfaz_gradio, [cliente_id, salario_mensual, objetivo], output) # Iniciar la aplicación demo.launch()