SergioSCA commited on
Commit
6e209ac
verified
1 Parent(s): 9e638d8

Update functions.py

Browse files
Files changed (1) hide show
  1. functions.py +33 -28
functions.py CHANGED
@@ -1,10 +1,15 @@
 
1
  import json
2
- import matplotlib.pyplot as plt
 
3
 
4
  # Cargar modalidades y tareas desde un archivo JSON
5
- with open("modalidades_tareas.json", "r") as file:
6
- MODALIDAD_TAREAS = json.load(file)
 
 
7
 
 
8
  def validar_modalidades_tareas(modalidades_tareas):
9
  for modalidad, tareas in modalidades_tareas.items():
10
  if not isinstance(modalidad, str) or not isinstance(tareas, list):
@@ -13,11 +18,8 @@ def validar_modalidades_tareas(modalidades_tareas):
13
  if not isinstance(tarea, str):
14
  raise ValueError(f"Formato incorrecto para la tarea: {tarea} en la modalidad {modalidad}")
15
 
16
- # Validar el diccionario
17
- validar_modalidades_tareas(MODALIDAD_TAREAS)
18
-
19
  # Funci贸n para generar la gr谩fica de barras
20
- def generar_grafica_barras(tareas_seleccionadas):
21
  # Contar la cantidad de tareas seleccionadas por modalidad
22
  conteo_modalidades = {}
23
  for modalidad, tareas in MODALIDAD_TAREAS.items():
@@ -36,26 +38,6 @@ def generar_grafica_barras(tareas_seleccionadas):
36
 
37
  return fig
38
 
39
- # Funci贸n para generar el encabezado del CSV (sistema inteligente)
40
- def generar_encabezado(tareas_seleccionadas):
41
- if not tareas_seleccionadas:
42
- raise ValueError("Debes seleccionar al menos una tarea.")
43
-
44
- columnas = ["id"] # A帽adimos 'id' como primer elemento
45
-
46
- # Generar columnas din谩micamente basadas en las tareas seleccionadas
47
- for tarea in tareas_seleccionadas:
48
- # Columna de entrada para la tarea
49
- columnas.append(f"{tarea.lower().replace(' ', '_')}_input")
50
- # Columna de salida para la tarea
51
- columnas.append(f"{tarea.lower().replace(' ', '_')}_output")
52
-
53
- # A帽adir columnas adicionales para etiquetas si es necesario
54
- for tarea in tareas_seleccionadas:
55
- columnas.append(f"{tarea.lower().replace(' ', '_')}_label")
56
-
57
- return ",".join(columnas)
58
-
59
  # Funci贸n para buscar datasets compatibles en HuggingFace
60
  def buscar_datasets(tareas_seleccionadas, filtro_tama帽o=None, filtro_licencia=None):
61
  query = "+".join(tareas_seleccionadas)
@@ -95,4 +77,27 @@ def generar_dataset(encabezado, datasets_seleccionados, pagina_actual=1, filas_p
95
  filas.append(f"Error cargando dataset {dataset_id}: {str(e)}")
96
 
97
  contenido_csv = "\n".join([encabezado] + filas)
98
- return contenido_csv
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # functions.py
2
  import json
3
+ import requests
4
+ from datasets import load_dataset
5
 
6
  # Cargar modalidades y tareas desde un archivo JSON
7
+ def cargar_modalidades_tareas():
8
+ with open("modalidades_tareas.json", "r") as file:
9
+ MODALIDAD_TAREAS = json.load(file)
10
+ return MODALIDAD_TAREAS
11
 
12
+ # Validar el diccionario de modalidades y tareas
13
  def validar_modalidades_tareas(modalidades_tareas):
14
  for modalidad, tareas in modalidades_tareas.items():
15
  if not isinstance(modalidad, str) or not isinstance(tareas, list):
 
18
  if not isinstance(tarea, str):
19
  raise ValueError(f"Formato incorrecto para la tarea: {tarea} en la modalidad {modalidad}")
20
 
 
 
 
21
  # Funci贸n para generar la gr谩fica de barras
22
+ def generar_grafica_barras(tareas_seleccionadas, MODALIDAD_TAREAS):
23
  # Contar la cantidad de tareas seleccionadas por modalidad
24
  conteo_modalidades = {}
25
  for modalidad, tareas in MODALIDAD_TAREAS.items():
 
38
 
39
  return fig
40
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  # Funci贸n para buscar datasets compatibles en HuggingFace
42
  def buscar_datasets(tareas_seleccionadas, filtro_tama帽o=None, filtro_licencia=None):
43
  query = "+".join(tareas_seleccionadas)
 
77
  filas.append(f"Error cargando dataset {dataset_id}: {str(e)}")
78
 
79
  contenido_csv = "\n".join([encabezado] + filas)
80
+ return contenido_csv
81
+
82
+ # Funci贸n inteligente para generar el encabezado usando IA de HuggingFace
83
+ def generar_encabezado_inteligente(tareas_seleccionadas):
84
+ if not tareas_seleccionadas:
85
+ raise ValueError("Debes seleccionar al menos una tarea.")
86
+
87
+ # Usar un modelo de HuggingFace para generar el encabezado
88
+ API_URL = "https://api-inference.huggingface.co/models/gpt-3.5-turbo"
89
+ headers = {"Authorization": "Bearer TU_API_KEY"} # Reemplaza TU_API_KEY con tu clave de HuggingFace
90
+
91
+ # Construir el prompt para el modelo
92
+ prompt = (
93
+ f"Genera un encabezado de CSV para las siguientes tareas: {', '.join(tareas_seleccionadas)}. "
94
+ "El encabezado debe incluir 'id' como primer elemento y etiquetas relevantes para cada tarea."
95
+ )
96
+
97
+ # Enviar la solicitud al modelo
98
+ response = requests.post(API_URL, headers=headers, json={"inputs": prompt})
99
+ if response.status_code == 200:
100
+ encabezado = response.json()[0]["generated_text"]
101
+ return encabezado
102
+ else:
103
+ raise ValueError(f"Error al generar el encabezado: {response.text}")