Skip to content

Commit

Permalink
migrate from streamlit to .env
Browse files Browse the repository at this point in the history
  • Loading branch information
92username committed Dec 20, 2024
1 parent b3ff230 commit a0ce04d
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 27 deletions.
52 changes: 25 additions & 27 deletions form.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,45 +4,43 @@
import streamlit as st
from dotenv import load_dotenv

# Definir a chave da API usando o Streamlit Secrets
api_key = st.secrets["openai"]["OPENAI_API_KEY"]
load_dotenv()

api_key = os.getenv("OPENAI_API_KEY")

if not api_key:
raise ValueError("API key não encontrada. Verifique se o arquivo .env está configurado corretamente.")
else:
print("API key encontrada. Inicializando o aplicativo...")

# Definir a chave da API para o OpenAI
openai.api_key = api_key

# listagem de linguagens de programação
lista_linguagens = ["Python", "JavaScript", "Java", "C++", "C#", "Dart"]
# Função para gerar exercícios

def gerar_exercicios(linguagem, niveis, tema, quantidades):
# Configuração da mensagem para a API

messages = [
{
"role": "system",
"content": (
f"""Você é um gerador de exercícios de programação. Não exibir as respostas dos exercícios.
Vamos definir um nível de dificuldade crescente para elaborarmos exercícios para que
eu aprenda {', '.join(lista_linguagens)} de programação de forma direta e descomplicada.
Utilize uma escala de 1 a 5, onde o nível 1 é 'Muito Fácil' e o
nível 5 é 'Muito Difícil'. Elabore exercícios
para cada nível com base na seguinte descrição:
- Nível 1: Conceitos básicos e fixação.
- Nível 2: Aplicação de conceitos básicos.
- Nível 3: Construção de lógica com conceitos aprendidos.
- Nível 4: Integração com conteúdos anteriores.
- Nível 5: Uso avançado de todos os conceitos estudados."""
)
},
{
"role": "user",
"content": f"Crie exercícios de {linguagem} sobre o tema {tema}."
}
]
{
"role": "system",
"content": (
f"""Você é um gerador de exercícios de programação. Não exibir as respostas dos exercícios.
Vamos definir um nível de dificuldade crescente para elaborarmos exercícios para que
eu aprenda {', '.join(lista_linguagens)} de programação de forma direta e descomplicada.
Utilize uma escala de 1 a 5, onde o nível 1 é 'Muito Fácil' e o
nível 5 é 'Muito Difícil'. Elabore exercícios
para cada nível com base na seguinte descrição:
- Nível 1: Conceitos básicos e fixação.
- Nível 2: Aplicação de conceitos básicos.
- Nível 3: Construção de lógica com conceitos aprendidos.
- Nível 4: Integração com conteúdos anteriores.
- Nível 5: Uso avançado de todos os conceitos estudados."""
)
},
{
"role": "user",
"content": f"Crie exercícios de {linguagem} sobre o tema {tema}."
}
]
for i, nivel in enumerate(niveis):
if quantidades[i] > 0:
messages.append({
Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ certifi==2024.8.30
charset-normalizer==3.3.2
click==8.1.7
distro==1.9.0
dotenv==0.0.5
exceptiongroup==1.2.2
gitdb==4.0.11
GitPython==3.1.43
Expand Down

0 comments on commit a0ce04d

Please sign in to comment.