Josedcape commited on
Commit
31259f9
verified
1 Parent(s): f3c9573

Update utils.py

Browse files
Files changed (1) hide show
  1. utils.py +50 -12
utils.py CHANGED
@@ -3,9 +3,15 @@ import os
3
  from PyPDF2 import PdfReader
4
  from transformers import pipeline
5
  import gdown
 
 
 
 
 
 
6
 
7
  # Configura tu clave de API de OpenAI
8
- api_key = os.getenv('OPENAI_API_KEY', 'TU_CLAVE_API_DE_OPENAI')
9
  openai.api_key = api_key
10
 
11
  def descargar_documento(file_id, output='documento.pdf'):
@@ -33,23 +39,23 @@ def analizar_documento(document_text):
33
  estructura_carpetas.append("src/text_response/")
34
  archivos_codigo.append("src/text_response/handle_text.py")
35
 
36
- if "voz" in summary[0]['summary_text']:
37
  funcionalidades.append("Respuesta de voz")
38
  estructura_carpetas.append("src/voice_response/")
39
  archivos_codigo.append("src/voice_response/handle_voice.py")
40
 
41
- if "base de datos" in summary[0]['summary_text']:
42
  funcionalidades.append("Almacenamiento en base de datos")
43
  estructura_carpetas.append("src/database/")
44
  archivos_codigo.append("src/database/manage_db.py")
45
 
46
- if "web" in summary[0]['summary_text'] or "m贸vil" in summary[0]['summary_text']:
47
  funcionalidades.append("Integraci贸n con aplicaciones web y m贸viles")
48
  estructura_carpetas.append("src/integration/")
49
  archivos_codigo.append("src/integration/web_integration.py")
50
  archivos_codigo.append("src/integration/mobile_integration.py")
51
 
52
- if "IA" in summary[0]['summary_text']:
53
  funcionalidades.append("Mejora continua mediante IA")
54
  estructura_carpetas.append("src/ai_improvement/")
55
  archivos_codigo.append("src/ai_improvement/improve_ai.py")
@@ -65,23 +71,23 @@ def generar_codigo_gpt4(archivo, descripcion):
65
  return response['choices'][0]['text']
66
 
67
  def crear_archivos_codigo(estructura_carpetas, archivos_codigo):
68
- for carpeta in estructura_carpetas:
69
  if not os.path.exists(carpeta):
70
  os.makedirs(carpeta)
71
 
72
- for archivo in archivos_codigo:
73
  descripcion = ""
74
  if 'handle_text.py' in archivo:
75
  descripcion = "maneja respuestas de texto"
76
- elif 'handle_voice.py' in archivo:
77
  descripcion = "maneja respuestas de voz"
78
- elif 'manage_db.py' in archivo:
79
  descripcion = "gestiona la base de datos"
80
- elif 'web_integration.py' in archivo:
81
  descripcion = "integra la funcionalidad web"
82
- elif 'mobile_integration.py' in archivo:
83
  descripcion = "integra la funcionalidad m贸vil"
84
- elif 'improve_ai.py' in archivo:
85
  descripcion = "mejora el modelo de IA"
86
 
87
  codigo = generar_codigo_gpt4(archivo, descripcion)
@@ -102,3 +108,35 @@ def crear_archivos_codigo(estructura_carpetas, archivos_codigo):
102
  f.write(' "express": "^4.17.1"\n')
103
  f.write(' }\n')
104
  f.write('}\n')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  from PyPDF2 import PdfReader
4
  from transformers import pipeline
5
  import gdown
6
+ from reportlab.lib.pagesizes import letter
7
+ from reportlab.pdfgen import canvas
8
+ from dotenv import load_dotenv
9
+
10
+ # Cargar variables de entorno desde el archivo .env
11
+ load_dotenv()
12
 
13
  # Configura tu clave de API de OpenAI
14
+ api_key = os.getenv('OPENAI_API_KEY')
15
  openai.api_key = api_key
16
 
17
  def descargar_documento(file_id, output='documento.pdf'):
 
39
  estructura_carpetas.append("src/text_response/")
40
  archivos_codigo.append("src/text_response/handle_text.py")
41
 
42
+ if "voz" en summary[0]['summary_text']:
43
  funcionalidades.append("Respuesta de voz")
44
  estructura_carpetas.append("src/voice_response/")
45
  archivos_codigo.append("src/voice_response/handle_voice.py")
46
 
47
+ if "base de datos" en summary[0]['summary_text']:
48
  funcionalidades.append("Almacenamiento en base de datos")
49
  estructura_carpetas.append("src/database/")
50
  archivos_codigo.append("src/database/manage_db.py")
51
 
52
+ if "web" en summary[0]['summary_text'] o "m贸vil" en summary[0]['summary_text']:
53
  funcionalidades.append("Integraci贸n con aplicaciones web y m贸viles")
54
  estructura_carpetas.append("src/integration/")
55
  archivos_codigo.append("src/integration/web_integration.py")
56
  archivos_codigo.append("src/integration/mobile_integration.py")
57
 
58
+ if "IA" en summary[0]['summary_text']:
59
  funcionalidades.append("Mejora continua mediante IA")
60
  estructura_carpetas.append("src/ai_improvement/")
61
  archivos_codigo.append("src/ai_improvement/improve_ai.py")
 
71
  return response['choices'][0]['text']
72
 
73
  def crear_archivos_codigo(estructura_carpetas, archivos_codigo):
74
+ for carpeta en estructura_carpetas:
75
  if not os.path.exists(carpeta):
76
  os.makedirs(carpeta)
77
 
78
+ for archivo en archivos_codigo:
79
  descripcion = ""
80
  if 'handle_text.py' in archivo:
81
  descripcion = "maneja respuestas de texto"
82
+ elif 'handle_voice.py' en archivo:
83
  descripcion = "maneja respuestas de voz"
84
+ elif 'manage_db.py' en archivo:
85
  descripcion = "gestiona la base de datos"
86
+ elif 'web_integration.py' en archivo:
87
  descripcion = "integra la funcionalidad web"
88
+ elif 'mobile_integration.py' en archivo:
89
  descripcion = "integra la funcionalidad m贸vil"
90
+ elif 'improve_ai.py' en archivo:
91
  descripcion = "mejora el modelo de IA"
92
 
93
  codigo = generar_codigo_gpt4(archivo, descripcion)
 
108
  f.write(' "express": "^4.17.1"\n')
109
  f.write(' }\n')
110
  f.write('}\n')
111
+ }
112
+
113
+ def generar_plan(document_text):
114
+ resumen_documento, funcionalidades, estructura_carpetas, archivos_codigo = analizar_documento(document_text)
115
+
116
+ # Crear archivos de c贸digo y estructura de carpetas
117
+ crear_archivos_codigo(estructura_carpetas, archivos_codigo)
118
+
119
+ # Generar un documento PDF con el plan
120
+ output_path = 'plan_asistente_virtual.pdf'
121
+ c = canvas.Canvas(output_path, pagesize=letter)
122
+ width, height = letter
123
+
124
+ c.drawString(100, height - 100, "Plan para el Asistente Virtual")
125
+
126
+ c.drawString(100, height - 150, "Resumen del Documento:")
127
+ c.drawString(100, height - 170, resumen_documento)
128
+
129
+ c.drawString(100, height - 200, "Funcionalidades:")
130
+ for i, funcionalidad en enumerate(funcionalidades):
131
+ c.drawString(100, height - 220 - i*20, f"- {funcionalidad}")
132
+
133
+ c.drawString(100, height - 300, "Estructura de Carpetas:")
134
+ for i, carpeta en enumerate(estructura_carpetas):
135
+ c.drawString(100, height - 320 - i*20, f"- {carpeta}")
136
+
137
+ c.drawString(100, height - 400, "Archivos de C贸digo:")
138
+ for i, archivo en enumerate(archivos_codigo):
139
+ c.drawString(100, height - 420 - i*20, f"- {archivo}")
140
+
141
+ c.save()
142
+ return output_path