File size: 2,351 Bytes
0eb00fa
1333877
 
 
9582c27
2535ea0
1333877
2535ea0
1333877
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
731763d
2535ea0
 
 
 
1333877
 
 
2535ea0
 
 
 
 
 
 
f1deb93
2535ea0
 
1333877
 
 
2535ea0
1333877
65cc357
2535ea0
1333877
 
2535ea0
 
1333877
 
 
 
2535ea0
1333877
 
 
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
58
59
60
61
62
63
import gradio as gr
import os
from groq import Groq


def consultar_llm(estudante, disciplina, perfil):
    # Constrói o prompt personalizado utilizando os valores informados
    prompt = f"Atue com umo professor. Considere a disciplina '{disciplina}' e o perfil do estudante '{perfil}'. Forneça um plano de estudos baseadas nesses dados. Adicione uma nova linha abaixo do título com o nome do estudante: '{estudante}'."

    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:
    # Adiciona um título
    gr.Markdown("# Gerador de planos de estudos personalizados")
    gr.Markdown("## Visão do professor")
    
    with gr.Row():
        # Coluna da esquerda: inputs
        with gr.Column():
            estudante_combo = gr.Dropdown(
                choices=["Jose", "Maria", "João"],
                label="Nome do estudante",
                value="Jose"  
            )
            disciplina_combo = gr.Dropdown(
                choices=["Introdução a programação", "Estrutura de dados", "Algoritmos avançados"],
                label="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"  
            )
            consultar_btn = gr.Button("Gerar plano de estudo personalizado")
        
        with gr.Column():
            with gr.Row():
                aceitar_btn = gr.Button("Aceitar/Enviar") 
                rejeitar_btn = gr.Button("Rejeitar/Alterar")
                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=[estudante_combo, disciplina_combo, perfil_combo], outputs=resultado)

# Inicia a interface web
demo.launch()