aldohenrique commited on
Commit
45d0a11
·
verified ·
1 Parent(s): 870c92c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +46 -25
app.py CHANGED
@@ -1,36 +1,57 @@
1
  import gradio as gr
2
- import os
3
  from transformers import pipeline
4
 
5
- # Usa um modelo gratuito da Hugging Face (Llama 3 Instruct, ótimo para instruções)
6
- MODEL_NAME = "maritaca-ai/sabia-2-medium" # Substitua por "meta-llama/Llama-3.1-8B-Instruct" se preferir
7
- gerador = pipeline(
8
- "text-generation",
9
- model=MODEL_NAME,
10
- max_new_tokens=1024,
11
- temperature=0.7,
12
- top_p=0.9,
13
- do_sample=True,
14
- token=os.getenv("HF_TOKEN"), # Necessário para modelos restritos
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
- Explique com clareza, profundidade e tom acadêmico, como um professor experiente orientaria um aluno.
 
20
  Pergunta: {pergunta}
21
  Resposta:"""
22
 
23
- resposta = gerador(prompt)[0]["generated_text"]
24
- # Remove o prompt da resposta, retornando só a parte útil
25
- return resposta.split("Resposta:")[-1].strip()
 
 
26
 
27
- # Interface Gradio
28
- interface = gr.Interface(
29
- fn=responder_como_aldo,
30
- inputs=gr.Textbox(lines=4, label="Sua pergunta para o Dr. Aldo Henrique"),
31
- outputs=gr.Textbox(label="Resposta"),
32
- title="Pergunte ao Dr. Aldo Henrique",
33
- description="Dúvidas sobre C, Java, desenvolvimento web ou IA? O Dr. Aldo responde com clareza e profundidade."
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()