gusdelact commited on
Commit
58691e0
·
verified ·
1 Parent(s): f2a9cd7

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +89 -0
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()