SergioSCA commited on
Commit
451a4d2
·
verified ·
1 Parent(s): 7551a70

Update functions.py

Browse files
Files changed (1) hide show
  1. functions.py +16 -9
functions.py CHANGED
@@ -101,31 +101,36 @@ def generar_encabezado_inteligente(tareas_seleccionadas, api_key):
101
  if not api_key:
102
  raise ValueError("API Key no proporcionada. Ingresa una clave válida.")
103
 
104
- # Prompt mejorado con ejemplos <button class="citation-flag" data-index="3">
105
  prompt = f"""
106
- Genera un encabezado de CSV para las siguientes tareas: {', '.join(tareas_seleccionadas)}.
107
- Incluye 'id' como primer elemento y etiquetas relevantes para cada tarea.
108
- Ejemplo de formato esperado: id,tarea1_label,tarea2_label,...
 
 
 
 
 
109
  """
110
 
111
- # Usar un modelo público compatible
112
- API_URL = "https://api-inference.huggingface.co/models/gpt2"
113
  headers = {
114
  "Authorization": f"Bearer {api_key}",
115
  "Content-Type": "application/json"
116
  }
117
 
118
  # Enviar solicitud a la API
119
- response = requests.post(API_URL, headers=headers, json={"inputs": prompt})
120
  response.raise_for_status()
121
 
122
  # Procesar respuesta
123
  if response.status_code == 200:
124
  encabezado = response.json()[0]["generated_text"].strip()
125
 
126
- # Validar que el encabezado comience con 'id' y contenga comas
127
  if not encabezado.startswith("id,"):
128
- raise ValueError("El modelo no generó un encabezado válido. Inténtalo de nuevo o prueba otro modelo.")
129
 
130
  return encabezado
131
  else:
@@ -138,5 +143,7 @@ def generar_encabezado_inteligente(tareas_seleccionadas, api_key):
138
  raise ValueError("Acceso denegado al modelo. Prueba con otro modelo público.")
139
  else:
140
  raise ValueError(f"Error HTTP: {str(e)}")
 
 
141
  except Exception as e:
142
  raise ValueError(f"Error inesperado: {str(e)}")
 
101
  if not api_key:
102
  raise ValueError("API Key no proporcionada. Ingresa una clave válida.")
103
 
104
+ # Prompt mejorado con ejemplos detallados
105
  prompt = f"""
106
+ Eres un asistente especializado en generar encabezados de CSV para datasets multimodales.
107
+ Tareas seleccionadas: {', '.join(tareas_seleccionadas)}.
108
+ Genera un encabezado de CSV con las siguientes reglas:
109
+ 1. El primer campo debe ser 'id'.
110
+ 2. Cada tarea debe tener una columna con el formato 'tarea_label' (ej. 'clasificación_de_texto_label').
111
+ 3. Evita texto adicional, solo devuelve el encabezado.
112
+ Ejemplo para tareas 'Clasificación de texto' y 'Detección de objetos':
113
+ id,clasificación_de_texto_label,detección_de_objetos_label
114
  """
115
 
116
+ # Usar un modelo más adecuado para prompts en español
117
+ API_URL = "https://api-inference.huggingface.co/models/dccuchile/bert-base-spanish-wwm-cased" # Modelo en español <button class="citation-flag" data-index="1">
118
  headers = {
119
  "Authorization": f"Bearer {api_key}",
120
  "Content-Type": "application/json"
121
  }
122
 
123
  # Enviar solicitud a la API
124
+ response = requests.post(API_URL, headers=headers, json={"inputs": prompt, "parameters": {"max_length": 256}})
125
  response.raise_for_status()
126
 
127
  # Procesar respuesta
128
  if response.status_code == 200:
129
  encabezado = response.json()[0]["generated_text"].strip()
130
 
131
+ # Validar formato básico
132
  if not encabezado.startswith("id,"):
133
+ raise ValueError("El encabezado no inicia con 'id,'. Respuesta del modelo: " + encabezado)
134
 
135
  return encabezado
136
  else:
 
143
  raise ValueError("Acceso denegado al modelo. Prueba con otro modelo público.")
144
  else:
145
  raise ValueError(f"Error HTTP: {str(e)}")
146
+ except KeyError:
147
+ raise ValueError("La respuesta de la API no contiene datos válidos. Asegúrate de usar un modelo compatible.")
148
  except Exception as e:
149
  raise ValueError(f"Error inesperado: {str(e)}")