Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -1,36 +1,57 @@
|
|
1 |
import gradio as gr
|
2 |
-
import os
|
3 |
from transformers import pipeline
|
4 |
|
5 |
-
#
|
6 |
-
|
7 |
-
|
8 |
-
"
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
def responder_como_aldo(pergunta):
|
17 |
prompt = f"""
|
18 |
Você é o professor Dr. Aldo Henrique, especialista em C, Java, desenvolvimento web e inteligência artificial.
|
19 |
-
|
|
|
20 |
Pergunta: {pergunta}
|
21 |
Resposta:"""
|
22 |
|
23 |
-
|
24 |
-
|
25 |
-
|
|
|
|
|
26 |
|
27 |
-
# Interface
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
)
|
|
|
|
|
|
|
35 |
|
36 |
-
interface.launch()
|
|
|
1 |
import gradio as gr
|
|
|
2 |
from transformers import pipeline
|
3 |
|
4 |
+
# Modelos alternativos gratuitos (escolha um):
|
5 |
+
MODEL_OPTIONS = {
|
6 |
+
"GPT-2 Médio": "gpt2-medium",
|
7 |
+
"GPT-2 (Padrão)": "gpt2",
|
8 |
+
"BLOOM (560M)": "bigscience/bloom-560m",
|
9 |
+
"LLaMA 2 (7B) - requer token": "meta-llama/Llama-2-7b-chat-hf"
|
10 |
+
}
|
11 |
+
|
12 |
+
# Escolha o modelo
|
13 |
+
MODEL_NAME = MODEL_OPTIONS["GPT-2 Médio"]
|
14 |
+
|
15 |
+
def load_model():
|
16 |
+
try:
|
17 |
+
return pipeline(
|
18 |
+
"text-generation",
|
19 |
+
model=MODEL_NAME,
|
20 |
+
max_new_tokens=1024,
|
21 |
+
temperature=0.7,
|
22 |
+
top_p=0.9,
|
23 |
+
do_sample=True,
|
24 |
+
token=os.getenv("HF_TOKEN") # Só necessário para LLaMA 2
|
25 |
+
)
|
26 |
+
except Exception as e:
|
27 |
+
raise gr.Error(f"Erro ao carregar o modelo: {str(e)}")
|
28 |
+
|
29 |
+
gerador = load_model()
|
30 |
+
|
31 |
def responder_como_aldo(pergunta):
|
32 |
prompt = f"""
|
33 |
Você é o professor Dr. Aldo Henrique, especialista em C, Java, desenvolvimento web e inteligência artificial.
|
34 |
+
Responda com clareza, profundidade e tom acadêmico, como um professor experiente.
|
35 |
+
|
36 |
Pergunta: {pergunta}
|
37 |
Resposta:"""
|
38 |
|
39 |
+
try:
|
40 |
+
resposta = gerador(prompt, max_length=200)[0]["generated_text"]
|
41 |
+
return resposta.split("Resposta:")[-1].strip()
|
42 |
+
except Exception as e:
|
43 |
+
return f"Erro ao gerar resposta: {str(e)}"
|
44 |
|
45 |
+
# Interface melhorada
|
46 |
+
with gr.Blocks(title="Pergunte ao Dr. Aldo Henrique") as interface:
|
47 |
+
gr.Markdown("## Pergunte ao Dr. Aldo Henrique")
|
48 |
+
gr.Markdown("Dúvidas sobre C, Java, desenvolvimento web ou IA? O Dr. Aldo responde com clareza e profundidade.")
|
49 |
+
|
50 |
+
with gr.Row():
|
51 |
+
entrada = gr.Textbox(lines=4, label="Sua pergunta", placeholder="Digite sua dúvida aqui...")
|
52 |
+
saida = gr.Textbox(label="Resposta", interactive=False)
|
53 |
+
|
54 |
+
btn = gr.Button("Enviar Pergunta")
|
55 |
+
btn.click(responder_como_aldo, inputs=entrada, outputs=saida)
|
56 |
|
57 |
+
interface.launch()
|