SlickSlick commited on
Commit
585e195
·
verified ·
1 Parent(s): 43014c7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -20
app.py CHANGED
@@ -1,14 +1,14 @@
1
  import gradio as gr
2
  from transformers import pipeline
3
 
4
- # Modelos em Português Brasileiro validados (públicos)
5
  MODELOS = {
6
  "curto": "pierreguillou/bert-base-cased-squad-v1.1-portuguese",
7
- "longo": "dominguesm/alpaca-ptbr-7b",
8
  "arbitro": "neuralmind/bert-base-portuguese-cased"
9
  }
10
 
11
- # Configuração segura com fallback
12
  try:
13
  modelo_rapido = pipeline(
14
  "text-generation",
@@ -18,10 +18,9 @@ try:
18
  )
19
 
20
  modelo_detalhado = pipeline(
21
- "text-generation",
22
  model=MODELOS["longo"],
23
- max_length=100,
24
- temperature=0.7
25
  )
26
 
27
  arbitro = pipeline(
@@ -29,35 +28,31 @@ try:
29
  model=MODELOS["arbitro"]
30
  )
31
  except Exception as e:
32
- raise gr.Error(f"Erro ao carregar modelos: {str(e)}")
33
 
34
  def chatbot(prompt):
35
  try:
36
- # Força PT-BR e evita respostas em inglês
37
  prompt_pt = f"Responda em português brasileiro de forma acadêmica: {prompt}"
38
 
 
39
  resposta_curta = modelo_rapido(prompt_pt)[0]['generated_text']
40
  resposta_longa = modelo_detalhado(prompt_pt)[0]['generated_text']
41
 
42
- # Filtro de qualidade básico
43
  resposta_curta = resposta_curta.split(".")[0] + "."
44
  resposta_longa = resposta_longa.split("\n")[0]
45
 
46
- return f"🔵 Resposta Concisa:\n{resposta_curta}\n\n🟢 Resposta Detalhada:\n{resposta_longa}"
47
 
48
  except Exception as e:
49
- return f"Erro: {str(e)}"
50
 
51
- with gr.Blocks(title="Chatbot ABNT") as app:
52
- gr.Markdown("## 🇧🇷 Chatbot Acadêmico (Português)")
53
- with gr.Row():
54
- entrada = gr.Textbox(label="Sua pergunta", placeholder="Ex: Qual a fórmula da água?")
55
- saida = gr.Textbox(label="Resposta", lines=5)
56
  btn = gr.Button("Enviar")
57
  btn.click(chatbot, inputs=entrada, outputs=saida)
58
- gr.Examples(
59
- examples=["Qual a fórmula da água?", "Explique a teoria da relatividade"],
60
- inputs=entrada
61
- )
62
 
63
  app.launch()
 
1
  import gradio as gr
2
  from transformers import pipeline
3
 
4
+ # Modelos Públicos SEM necessidade de login
5
  MODELOS = {
6
  "curto": "pierreguillou/bert-base-cased-squad-v1.1-portuguese",
7
+ "longo": "dominguesm/portuguese-t5-small", # Modelo leve e público
8
  "arbitro": "neuralmind/bert-base-portuguese-cased"
9
  }
10
 
11
+ # Configuração à prova de falhas
12
  try:
13
  modelo_rapido = pipeline(
14
  "text-generation",
 
18
  )
19
 
20
  modelo_detalhado = pipeline(
21
+ "text2text-generation", # Altere para text2text-generation
22
  model=MODELOS["longo"],
23
+ max_length=100
 
24
  )
25
 
26
  arbitro = pipeline(
 
28
  model=MODELOS["arbitro"]
29
  )
30
  except Exception as e:
31
+ raise gr.Error(f"Modelo não carregado. Erro: {str(e)}")
32
 
33
  def chatbot(prompt):
34
  try:
 
35
  prompt_pt = f"Responda em português brasileiro de forma acadêmica: {prompt}"
36
 
37
+ # Geração de respostas
38
  resposta_curta = modelo_rapido(prompt_pt)[0]['generated_text']
39
  resposta_longa = modelo_detalhado(prompt_pt)[0]['generated_text']
40
 
41
+ # Limpeza básica
42
  resposta_curta = resposta_curta.split(".")[0] + "."
43
  resposta_longa = resposta_longa.split("\n")[0]
44
 
45
+ return f"🔵 Resposta Curta:\n{resposta_curta}\n\n🟢 Resposta Detalhada:\n{resposta_longa}"
46
 
47
  except Exception as e:
48
+ return f"Erro ao gerar resposta. Tente reformular sua pergunta."
49
 
50
+ # Interface simplificada
51
+ with gr.Blocks() as app:
52
+ gr.Markdown("## 🤖 Chatbot Acadêmico ABNT")
53
+ entrada = gr.Textbox(label="Faça sua pergunta")
54
+ saida = gr.Textbox(label="Resposta", interactive=False)
55
  btn = gr.Button("Enviar")
56
  btn.click(chatbot, inputs=entrada, outputs=saida)
 
 
 
 
57
 
58
  app.launch()