File size: 1,866 Bytes
7983148
 
 
45d0a11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7983148
 
 
45d0a11
 
7983148
 
 
45d0a11
 
 
 
 
7983148
45d0a11
 
 
 
 
 
 
 
 
 
 
7983148
45d0a11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import gradio as gr
from transformers import pipeline

# Modelos alternativos gratuitos (escolha um):
MODEL_OPTIONS = {
    "GPT-2 Médio": "gpt2-medium",
    "GPT-2 (Padrão)": "gpt2",
    "BLOOM (560M)": "bigscience/bloom-560m",
    "LLaMA 2 (7B) - requer token": "meta-llama/Llama-2-7b-chat-hf"
}

# Escolha o modelo
MODEL_NAME = MODEL_OPTIONS["GPT-2 Médio"]

def load_model():
    try:
        return pipeline(
            "text-generation",
            model=MODEL_NAME,
            max_new_tokens=1024,
            temperature=0.7,
            top_p=0.9,
            do_sample=True,
            token=os.getenv("HF_TOKEN")  # Só necessário para LLaMA 2
        )
    except Exception as e:
        raise gr.Error(f"Erro ao carregar o modelo: {str(e)}")

gerador = load_model()

def responder_como_aldo(pergunta):
    prompt = f"""
Você é o professor Dr. Aldo Henrique, especialista em C, Java, desenvolvimento web e inteligência artificial.
Responda com clareza, profundidade e tom acadêmico, como um professor experiente.

Pergunta: {pergunta}
Resposta:"""

    try:
        resposta = gerador(prompt, max_length=200)[0]["generated_text"]
        return resposta.split("Resposta:")[-1].strip()
    except Exception as e:
        return f"Erro ao gerar resposta: {str(e)}"

# Interface melhorada
with gr.Blocks(title="Pergunte ao Dr. Aldo Henrique") as interface:
    gr.Markdown("## Pergunte ao Dr. Aldo Henrique")
    gr.Markdown("Dúvidas sobre C, Java, desenvolvimento web ou IA? O Dr. Aldo responde com clareza e profundidade.")
    
    with gr.Row():
        entrada = gr.Textbox(lines=4, label="Sua pergunta", placeholder="Digite sua dúvida aqui...")
        saida = gr.Textbox(label="Resposta", interactive=False)
    
    btn = gr.Button("Enviar Pergunta")
    btn.click(responder_como_aldo, inputs=entrada, outputs=saida)

interface.launch()