Update app.py
Browse files
app.py
CHANGED
@@ -22,21 +22,31 @@ app = Flask(__name__)
|
|
22 |
def formatar_brl(valor):
|
23 |
return f"R$ {valor:,.2f}".replace(",", "X").replace(".", ",").replace("X", ".")
|
24 |
|
25 |
-
|
26 |
-
melhor = max(investimentos_finais, key=investimentos_finais.get)
|
27 |
-
valor_melhor = investimentos_finais[melhor]
|
28 |
-
retorno_pct = ((valor_melhor - capital) / capital) * 100
|
29 |
-
texto = f"""
|
30 |
-
Após análise dos cenários projetados para 5 anos, o investimento <strong>{melhor}</strong> apresenta o melhor desempenho,
|
31 |
-
com um valor final estimado de <strong>{formatar_brl(valor_melhor)}</strong>, equivalente a um retorno de <strong>{retorno_pct:.1f}%</strong>.
|
32 |
-
<br><br>
|
33 |
-
O valor patrimonial do Studio, conforme normas contábeis e profissionais de investimento, representa o valor acumulado do imóvel sem considerar a renda gerada,
|
34 |
-
ou seja, é o aumento do patrimônio bruto estimado. Neste cenário, o valor patrimonial final do Studio é <strong>{formatar_brl(patrimonio_studio_final)}</strong>.
|
35 |
-
"""
|
36 |
-
return texto
|
37 |
|
|
|
|
|
|
|
|
|
38 |
|
|
|
39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
|
41 |
@app.route("/", methods=["GET", "POST"])
|
42 |
def index():
|
|
|
22 |
def formatar_brl(valor):
|
23 |
return f"R$ {valor:,.2f}".replace(",", "X").replace(".", ",").replace("X", ".")
|
24 |
|
25 |
+
import openai
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
+
def gerar_analise_ia(investimentos_finais, capital, patrimonio_studio_final):
|
28 |
+
base_texto = gerar_analise(investimentos_finais, capital, patrimonio_studio_final)
|
29 |
+
prompt = f"""
|
30 |
+
Você é um analista financeiro experiente. A seguir está uma análise básica dos resultados de investimentos simulados:
|
31 |
|
32 |
+
{base_texto}
|
33 |
|
34 |
+
Reescreva essa análise de forma mais detalhada, clara e profissional, adequada para ser entregue a um cliente leigo em finanças.
|
35 |
+
Utilize linguagem acessível, exemplos simples e um tom consultivo e amigável.
|
36 |
+
"""
|
37 |
+
try:
|
38 |
+
resposta = openai.ChatCompletion.create(
|
39 |
+
model="gpt-4o",
|
40 |
+
messages=[
|
41 |
+
{"role": "system", "content": "Você é um analista financeiro experiente."},
|
42 |
+
{"role": "user", "content": prompt}
|
43 |
+
],
|
44 |
+
temperature=0.7
|
45 |
+
)
|
46 |
+
return resposta.choices[0].message.content
|
47 |
+
except Exception as e:
|
48 |
+
# fallback caso ocorra erro na API da OpenAI
|
49 |
+
return base_texto + f"\n\n(Erro ao gerar análise detalhada com IA: {e})"
|
50 |
|
51 |
@app.route("/", methods=["GET", "POST"])
|
52 |
def index():
|