DHEIVER commited on
Commit
12bee70
·
verified ·
1 Parent(s): c1275f1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +54 -33
app.py CHANGED
@@ -5,12 +5,11 @@ from transformers import pipeline
5
  class GeradorTrilhaAprendizado:
6
  def __init__(self):
7
  self.device = 0 if torch.cuda.is_available() else -1
8
- # Inicializa modelos
9
  self.transcriber = pipeline("automatic-speech-recognition",
10
  model="openai/whisper-base",
11
  device=self.device)
12
  self.generator = pipeline("text-generation",
13
- model="gpt2",
14
  device=self.device)
15
 
16
  def processar_audio(self,
@@ -19,54 +18,76 @@ class GeradorTrilhaAprendizado:
19
  nivel: str = "intermediário",
20
  incluir_recursos: bool = True) -> tuple:
21
  try:
22
- # Transcrição do áudio
23
  transcricao = self.transcriber(audio_path)["text"]
24
 
25
- # Geração da trilha
26
  prompt = f"""
27
- Com base no seguinte texto, crie uma trilha de aprendizado detalhada
28
- para nível {nivel}:
29
  {transcricao}
 
 
 
 
 
 
 
30
 
31
- Trilha de aprendizado:
32
  """
33
 
34
  analise = self.generator(prompt,
35
- max_length=300,
36
- num_return_sequences=1)[0]["generated_text"]
 
 
37
 
38
  if incluir_recursos:
39
- recursos = self._gerar_recursos()
40
  analise += "\n\n" + recursos
41
 
42
- return (
43
- transcricao,
44
- analise,
45
- "✅ Trilha gerada com sucesso!"
46
- )
47
  except Exception as e:
48
- return (
49
- f"Erro: {str(e)}",
50
- "Não foi possível gerar a análise.",
51
- "❌ Ocorreu um erro"
52
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
 
54
- def _gerar_recursos(self) -> str:
55
- return """
56
- 📚 Recursos Recomendados:
57
 
58
- 1. Livros:
59
- - "Guia Essencial"
60
- - "Técnicas Avançadas"
 
 
 
 
61
 
62
- 2. Cursos Online:
63
- - Coursera: "Especialização no Tema"
64
- - edX: "Curso Avançado"
65
 
66
- 3. Recursos Práticos:
67
- - Tutoriais interativos
68
- - Exercícios práticos
69
- - Projetos do mundo real
 
70
  """
71
 
72
  def criar_interface():
 
5
  class GeradorTrilhaAprendizado:
6
  def __init__(self):
7
  self.device = 0 if torch.cuda.is_available() else -1
 
8
  self.transcriber = pipeline("automatic-speech-recognition",
9
  model="openai/whisper-base",
10
  device=self.device)
11
  self.generator = pipeline("text-generation",
12
+ model="gpt2-large", # Modelo maior
13
  device=self.device)
14
 
15
  def processar_audio(self,
 
18
  nivel: str = "intermediário",
19
  incluir_recursos: bool = True) -> tuple:
20
  try:
 
21
  transcricao = self.transcriber(audio_path)["text"]
22
 
 
23
  prompt = f"""
24
+ Crie uma trilha de aprendizado estruturada para nível {nivel} com base no seguinte objetivo:
 
25
  {transcricao}
26
+
27
+ Inclua:
28
+ 1. Objetivos de aprendizagem específicos
29
+ 2. Pré-requisitos necessários
30
+ 3. Módulos de estudo sequenciais
31
+ 4. Projetos práticos
32
+ 5. Marcos de avaliação
33
 
34
+ Trilha de aprendizado para {nome_trilha}:
35
  """
36
 
37
  analise = self.generator(prompt,
38
+ max_length=500, # Aumentado
39
+ num_return_sequences=1,
40
+ temperature=0.7, # Adicionado
41
+ top_p=0.95)[0]["generated_text"] # Adicionado
42
 
43
  if incluir_recursos:
44
+ recursos = self._gerar_recursos(nivel, transcricao)
45
  analise += "\n\n" + recursos
46
 
47
+ return (transcricao, analise, "✅ Trilha gerada com sucesso!")
 
 
 
 
48
  except Exception as e:
49
+ return (f"Erro: {str(e)}", "Não foi possível gerar a análise.", "❌ Ocorreu um erro")
50
+
51
+ def _gerar_recursos(self, nivel: str, objetivo: str) -> str:
52
+ recursos_por_nivel = {
53
+ "iniciante": {
54
+ "cursos": ["Fundamentos Básicos", "Introdução Prática"],
55
+ "livros": ["Guia do Iniciante", "Primeiros Passos"],
56
+ "projetos": ["Projeto inicial guiado", "Mini-projetos práticos"]
57
+ },
58
+ "intermediário": {
59
+ "cursos": ["Especialização Prática", "Técnicas Avançadas"],
60
+ "livros": ["Guia Completo", "Estudos de Caso"],
61
+ "projetos": ["Projetos de média complexidade", "Desafios práticos"]
62
+ },
63
+ "avançado": {
64
+ "cursos": ["Masterclass Avançada", "Especialização Profissional"],
65
+ "livros": ["Técnicas Avançadas", "Estado da Arte"],
66
+ "projetos": ["Projetos complexos", "Contribuições open-source"]
67
+ }
68
+ }
69
 
70
+ recursos = recursos_por_nivel[nivel]
71
+ return f"""
72
+ 📚 Recursos Recomendados para Nível {nivel}:
73
 
74
+ 1. Cursos Recomendados:
75
+ - {recursos['cursos'][0]}
76
+ - {recursos['cursos'][1]}
77
+
78
+ 2. Material de Estudo:
79
+ - {recursos['livros'][0]}
80
+ - {recursos['livros'][1]}
81
 
82
+ 3. Projetos Práticos:
83
+ - {recursos['projetos'][0]}
84
+ - {recursos['projetos'][1]}
85
 
86
+ 4. Recursos Adicionais:
87
+ - Comunidades de prática
88
+ - Mentoria entre pares
89
+ - Workshops práticos
90
+ - Avaliações periódicas
91
  """
92
 
93
  def criar_interface():