Spaces:
Running
Running
import gradio as gr | |
import os | |
from groq import Groq | |
def consultar_llm(disciplina, perfil): | |
# Constrói o prompt personalizado utilizando os valores informados | |
prompt = f"Considere a disciplina '{disciplina}' e o perfil do estudante '{perfil}'. " \ | |
"Forneça um plano de estudos baseadas nesses dados." | |
client = Groq(api_key=os.environ.get("GROQ_API_KEY")) | |
chat_completion = client.chat.completions.create( | |
messages=[ | |
{ | |
"role": "user", | |
"content": prompt, | |
} | |
], | |
model="llama3-8b-8192", | |
) | |
return chat_completion.choices[0].message.content | |
# Criação da interface com Gradio utilizando Blocks para organizar os componentes | |
with gr.Blocks() as demo: | |
with gr.Row(): | |
# Coluna da esquerda: inputs | |
with gr.Column(): | |
disciplina_input = gr.Textbox(label="Disciplina", placeholder="Digite o nome da disciplina", value="Introdução a programação") | |
perfil_combo = gr.Dropdown( | |
choices=["Iniciante", "Intermediário", "Avançado"], | |
label="Perfil do Estudante", | |
value="Iniciante" # valor padrão | |
) | |
consultar_btn = gr.Button("Consultar LLM") | |
# Coluna da direita: área de saída | |
with gr.Column(): | |
with gr.Row(): | |
aceitar_btn = gr.Button("Aceitar") | |
rejeitar_btn = gr.Button("Rejeitar") | |
download_btn = gr.Button("Download PDF") | |
resultado = gr.Markdown(label="Plano de estudo") | |
# Configura o botão para chamar a função 'consultar_llm' | |
consultar_btn.click(fn=consultar_llm, inputs=[disciplina_input, perfil_combo], outputs=resultado) | |
# Inicia a interface web | |
demo.launch() | |