Vitors commited on
Commit
b3d3e88
·
verified ·
1 Parent(s): 6f073f1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -24
app.py CHANGED
@@ -1,35 +1,34 @@
1
  import gradio as gr
2
- from transformers import pipeline
3
 
4
- # Carregando os dois modelos de geração de texto
5
- modelo_1 = pipeline("text-generation", model="gpt2")
6
- modelo_2 = pipeline("text-generation", model="distilgpt2")
7
 
8
- # Função avaliadora simples: escolhe a resposta mais longa
9
- def avaliar_respostas(prompt, resposta1, resposta2):
 
 
 
 
10
  if len(resposta1) > len(resposta2):
11
  return f"Resposta escolhida do Modelo 1:\n\n{resposta1}"
12
  else:
13
  return f"Resposta escolhida do Modelo 2:\n\n{resposta2}"
14
 
15
- # Função principal do chatbot em cascata
16
- def chatbot_em_cascata(prompt):
17
- # Gerar respostas com os dois modelos
18
- resposta1 = modelo_1(prompt, max_length=50, do_sample=True)[0]['generated_text']
19
- resposta2 = modelo_2(prompt, max_length=50, do_sample=True)[0]['generated_text']
20
-
21
- # Avaliar e escolher a melhor resposta
22
- melhor_resposta = avaliar_respostas(prompt, resposta1, resposta2)
23
- return melhor_resposta
24
 
25
- # Interface com Gradio
26
- interface = gr.Interface(
27
- fn=chatbot_em_cascata,
28
- inputs=gr.Textbox(lines=2, placeholder="Digite sua pergunta aqui..."),
29
- outputs="text",
30
- title="Chatbot em Cascata - FMU Engenharia",
31
- description="Dois modelos geram respostas, um avaliador escolhe a melhor."
32
- )
33
 
34
- interface.launch()
35
 
 
1
  import gradio as gr
2
+ from transformers import pipeline, set_seed
3
 
4
+ # Garante um resultado mais consistente
5
+ set_seed(42)
 
6
 
7
+ # Modelos em português
8
+ modelo_1 = pipeline("text-generation", model="pierreguillou/gpt2-small-portuguese")
9
+ modelo_2 = pipeline("text-generation", model="neuralmind/gpt2-medium-portuguese")
10
+
11
+ # Função que avalia as respostas (escolhe a mais longa, por simplicidade)
12
+ def avaliar_respostas(resposta1, resposta2):
13
  if len(resposta1) > len(resposta2):
14
  return f"Resposta escolhida do Modelo 1:\n\n{resposta1}"
15
  else:
16
  return f"Resposta escolhida do Modelo 2:\n\n{resposta2}"
17
 
18
+ # Função principal
19
+ def responder(prompt):
20
+ resp1 = modelo_1(prompt, max_length=60, num_return_sequences=1)[0]['generated_text']
21
+ resp2 = modelo_2(prompt, max_length=60, num_return_sequences=1)[0]['generated_text']
22
+ melhor = avaliar_respostas(resp1, resp2)
23
+ return melhor
 
 
 
24
 
25
+ # Interface Gradio
26
+ gr.Interface(
27
+ fn=responder,
28
+ inputs=gr.Textbox(label="Digite sua pergunta"),
29
+ outputs=gr.Textbox(label="Resposta escolhida"),
30
+ title="Chatbot em Português - FMU",
31
+ description="Dois modelos em português geram respostas; o melhor é exibido."
32
+ ).launch()
33
 
 
34