Spaces:
Running
Running
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() |