Persano commited on
Commit
7080960
·
verified ·
1 Parent(s): fcf889c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -12
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
- def gerar_analise(investimentos_finais, capital, patrimonio_studio_final):
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():