Spaces:
Sleeping
Sleeping
Upload app.py
Browse files
app.py
ADDED
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
|
3 |
+
# Diccionario de clientes
|
4 |
+
clientes = {
|
5 |
+
"cliente1": {
|
6 |
+
"nombre": "Juan Pérez",
|
7 |
+
"salario": 5000,
|
8 |
+
"inversiones": 15000,
|
9 |
+
"edad": 35,
|
10 |
+
"objetivos": "ahorro para la jubilación"
|
11 |
+
},
|
12 |
+
"cliente2": {
|
13 |
+
"nombre": "María López",
|
14 |
+
"salario": 7500,
|
15 |
+
"inversiones": 30000,
|
16 |
+
"edad": 42,
|
17 |
+
"objetivos": "compra de una vivienda"
|
18 |
+
}
|
19 |
+
}
|
20 |
+
|
21 |
+
# Función para generar la carta de recomendación
|
22 |
+
def generar_carta_inversion(cliente_id: str, salario_mensual: float, objetivo: str) -> str:
|
23 |
+
"""Genera una carta personalizada para el cliente con base en el salario mensual y su objetivo financiero."""
|
24 |
+
|
25 |
+
cliente = clientes.get(cliente_id)
|
26 |
+
if not cliente:
|
27 |
+
return "Cliente no encontrado."
|
28 |
+
|
29 |
+
nombre = cliente["nombre"]
|
30 |
+
inversiones = cliente["inversiones"]
|
31 |
+
edad = cliente["edad"]
|
32 |
+
|
33 |
+
# Plantilla de la carta
|
34 |
+
carta = f"""
|
35 |
+
{nombre}
|
36 |
+
Dirección del Cliente
|
37 |
+
Ciudad, Estado, Código Postal
|
38 |
+
|
39 |
+
Fecha: [Fecha Actual]
|
40 |
+
|
41 |
+
Estimado/a {nombre},
|
42 |
+
|
43 |
+
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.
|
44 |
+
|
45 |
+
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}:
|
46 |
+
|
47 |
+
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.
|
48 |
+
|
49 |
+
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.
|
50 |
+
|
51 |
+
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.
|
52 |
+
|
53 |
+
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.
|
54 |
+
|
55 |
+
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.
|
56 |
+
|
57 |
+
Quedo a su disposición para cualquier consulta.
|
58 |
+
|
59 |
+
Atentamente,
|
60 |
+
|
61 |
+
[Nombre del Asesor]
|
62 |
+
Asesor Financiero
|
63 |
+
Nombre del Banco
|
64 |
+
Teléfono: [Número de Teléfono]
|
65 |
+
Email: [Correo Electrónico]
|
66 |
+
"""
|
67 |
+
|
68 |
+
return carta
|
69 |
+
|
70 |
+
# Configuración de la interfaz de Gradio
|
71 |
+
def interfaz_gradio(cliente_id, salario_mensual, objetivo):
|
72 |
+
return generar_carta_inversion(cliente_id, salario_mensual, objetivo)
|
73 |
+
|
74 |
+
# Configuramos la interfaz de Gradio
|
75 |
+
with gr.Blocks() as demo:
|
76 |
+
gr.Markdown("# Generador de Carta de Recomendación Financiera")
|
77 |
+
|
78 |
+
cliente_id = gr.Textbox(label="ID del Cliente", placeholder="Ej. cliente1")
|
79 |
+
salario_mensual = gr.Number(label="Salario Mensual", placeholder="Ej. 5000")
|
80 |
+
objetivo = gr.Textbox(label="Objetivo Financiero", placeholder="Ej. compra de una vivienda")
|
81 |
+
|
82 |
+
output = gr.Textbox(label="Carta de Recomendación Generada")
|
83 |
+
|
84 |
+
generar_btn = gr.Button("Generar Carta")
|
85 |
+
|
86 |
+
generar_btn.click(interfaz_gradio, [cliente_id, salario_mensual, objetivo], output)
|
87 |
+
|
88 |
+
# Iniciar la aplicación
|
89 |
+
demo.launch()
|