SlickSlick commited on
Commit
d2e7759
·
verified ·
1 Parent(s): 24525cd

Delete app.py

Browse files
Files changed (1) hide show
  1. app.py +0 -56
app.py DELETED
@@ -1,56 +0,0 @@
1
- import gradio as gr
2
- from transformers import pipeline, AutoTokenizer, AutoModelForSeq2SeqLM, AutoModelForCausalLM, AutoModelForSequenceClassification
3
- import torch
4
-
5
- # Modelo A - FLAN-T5
6
- model_a_name = "google/flan-t5-small"
7
- tokenizer_a = AutoTokenizer.from_pretrained(model_a_name)
8
- model_a = AutoModelForSeq2SeqLM.from_pretrained(model_a_name)
9
-
10
- # Modelo B - Falcon-RW
11
- model_b_name = "tiiuae/falcon-rw-1b"
12
- tokenizer_b = AutoTokenizer.from_pretrained(model_b_name)
13
- model_b = AutoModelForCausalLM.from_pretrained(model_b_name)
14
-
15
- # Árbitro - BART MNLI
16
- arbiter_model = pipeline("zero-shot-classification", model="facebook/bart-large-mnli")
17
-
18
- def generate_response(prompt):
19
- # Geração com Modelo A (FLAN-T5)
20
- input_ids_a = tokenizer_a(prompt, return_tensors="pt").input_ids
21
- output_a = model_a.generate(input_ids_a, max_new_tokens=100)
22
- response_a = tokenizer_a.decode(output_a[0], skip_special_tokens=True)
23
-
24
- # Geração com Modelo B (Falcon)
25
- input_ids_b = tokenizer_b(prompt, return_tensors="pt").input_ids
26
- output_b = model_b.generate(input_ids_b, max_new_tokens=100)
27
- response_b = tokenizer_b.decode(output_b[0], skip_special_tokens=True)
28
-
29
- # Julgamento com o Árbitro
30
- # A premissa é o prompt original, e as hipóteses são as duas respostas.
31
- choices = [response_a, response_b]
32
- judgment = arbiter_model(prompt, choices)
33
-
34
- best_response = judgment['labels'][0] # Escolhe o que teve maior score
35
-
36
- return {
37
- "Resposta do Modelo A": response_a,
38
- "Resposta do Modelo B": response_b,
39
- "Resposta Escolhida pelo Árbitro": best_response
40
- }
41
-
42
- # Interface Gradio
43
- iface = gr.Interface(
44
- fn=generate_response,
45
- inputs=gr.Textbox(lines=2, placeholder="Digite sua pergunta..."),
46
- outputs=[
47
- gr.Textbox(label="Resposta do Modelo A"),
48
- gr.Textbox(label="Resposta do Modelo B"),
49
- gr.Textbox(label="Resposta Escolhida pelo Árbitro")
50
- ],
51
- title="Chatbot em Cascata com Árbitro",
52
- description="Dois modelos geram respostas. Um terceiro modelo julga qual é a melhor com base em clareza e coerência."
53
- )
54
-
55
- if __name__ == "__main__":
56
- iface.launch()