DiegoIrurita commited on
Commit
d70785e
1 Parent(s): 29b7b1b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -60
app.py CHANGED
@@ -1,63 +1,41 @@
1
- from flask import Flask, request, jsonify
2
  import numpy as np
3
 
4
- app = Flask(__name__)
5
-
6
- def analizar_inversion(proyectos, pesos, tasas_retorno):
7
- # Aquí iría tu función de análisis de inversión
8
- # Por ejemplo:
9
- correlacion = np.corrcoef(pesos, tasas_retorno)[0, 1]
10
- desviacion_pesos = np.std(pesos)
11
- desviacion_retorno = np.std(tasas_retorno)
12
- proyecto_max = proyectos[np.argmax(tasas_retorno)]
13
- proyecto_min = proyectos[np.argmin(tasas_retorno)]
14
-
15
- return {
16
- "correlacion": correlacion,
17
- "desviacion_pesos": desviacion_pesos,
18
- "desviacion_retorno": desviacion_retorno,
19
- "proyecto_max": proyecto_max,
20
- "proyecto_min": proyecto_min
21
- }
22
-
23
- @app.route("/analizar-inversion", methods=["POST"])
24
- def analizar_inversion_endpoint():
25
- data = request.json
26
- proyectos = data["proyectos"]
27
- pesos = data["pesos"]
28
- tasas_retorno = data["tasas_retorno"]
29
-
30
- resultado = analizar_inversion(proyectos, pesos, tasas_retorno)
31
-
32
- return jsonify(resultado)
33
-
34
- if __name__ == "__main__":
35
- app.run(debug=True)
36
- import streamlit as st
37
- import requests
38
-
39
- def analizar_inversion_api(proyectos, pesos, tasas_retorno):
40
- url = "http://localhost:5000/analizar-inversion"
41
- data = {"proyectos": proyectos, "pesos": pesos, "tasas_retorno": tasas_retorno}
42
- response = requests.post(url, json=data)
43
- return response.json()
44
-
45
- st.title("Análisis de Inversión")
46
-
47
- proyectos = st.text_input("Proyectos (separados por comas)")
48
- pesos = st.text_input("Pesos (separados por comas)")
49
- tasas_retorno = st.text_input("Tasas de Retorno (separadas por comas)")
50
-
51
- if st.button("Analizar"):
52
- proyectos = proyectos.split(",")
53
- pesos = [float(p) for p in pesos.split(",")]
54
- tasas_retorno = [float(r) for r in tasas_retorno.split(",")]
55
-
56
- resultado = analizar_inversion_api(proyectos, pesos, tasas_retorno)
57
-
58
- st.write("Correlación entre pesos de inversión y tasas de retorno:", resultado["correlacion"])
59
- st.write("Desviación estándar de los pesos de inversión:", resultado["desviacion_pesos"])
60
- st.write("Desviación estándar de las tasas de retorno:", resultado["desviacion_retorno"])
61
- st.write("Proyecto con mayor tasa de retorno:", resultado["proyecto_max"])
62
- st.write("Proyecto con menor tasa de retorno:", resultado["proyecto_min"])
63
 
 
1
+ from transformers import pipeline
2
  import numpy as np
3
 
4
+ # Crear el pipeline para la aplicación web
5
+ app = pipeline("text-generation", model="distilgpt2")
6
+
7
+ # Función para analizar las variables
8
+ def analizar_variables(x1, x2):
9
+ # Calcular los promedios de las variables
10
+ promedio_x1 = np.mean(x1)
11
+ promedio_x2 = np.mean(x2)
12
+
13
+ # Calcular el valor esperado de las variables
14
+ valor_esperado_x1 = np.mean(x1)
15
+ valor_esperado_x2 = np.mean(x2)
16
+
17
+ # Calcular la desviación estándar de las variables
18
+ desviacion_x1 = np.std(x1)
19
+ desviacion_x2 = np.std(x2)
20
+
21
+ return promedio_x1, promedio_x2, valor_esperado_x1, valor_esperado_x2, desviacion_x1, desviacion_x2
22
+
23
+ # Entrada de datos
24
+ x1 = input("Ingrese los valores de la variable X1 separados por comas: ")
25
+ x2 = input("Ingrese los valores de la variable X2 separados por comas: ")
26
+
27
+ # Convertir las entradas en listas de números
28
+ x1 = list(map(float, x1.split(',')))
29
+ x2 = list(map(float, x2.split(',')))
30
+
31
+ # Analizar las variables
32
+ promedio_x1, promedio_x2, valor_esperado_x1, valor_esperado_x2, desviacion_x1, desviacion_x2 = analizar_variables(x1, x2)
33
+
34
+ # Generar el texto de salida
35
+ output_text = f"Promedio de X1: {promedio_x1}\nPromedio de X2: {promedio_x2}\nValor esperado de X1: {valor_esperado_x1}\nValor esperado de X2: {valor_esperado_x2}\nDesviación estándar de X1: {desviacion_x1}\nDesviación estándar de X2: {desviacion_x2}"
36
+
37
+ # Generar la respuesta con Hugging Face
38
+ respuesta = app(output_text, max_length=50, num_return_sequences=1)[0]['generated_text']
39
+
40
+ print(respuesta)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41