SergioSCA commited on
Commit
a7848e2
·
verified ·
1 Parent(s): c14a270

Update functions.py

Browse files
Files changed (1) hide show
  1. functions.py +17 -14
functions.py CHANGED
@@ -101,38 +101,41 @@ 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
- # Usar un modelo público compatible (ej. gpt2 o flan-t5-base)
105
- API_URL = "https://api-inference.huggingface.co/models/google/flan-t5-base" # Modelo alternativo <button class="citation-flag" data-index="2">
 
 
 
 
 
 
 
106
  headers = {
107
  "Authorization": f"Bearer {api_key}",
108
  "Content-Type": "application/json"
109
  }
110
 
111
- # Construir el prompt
112
- prompt = (
113
- f"Genera un encabezado de CSV para las siguientes tareas: {', '.join(tareas_seleccionadas)}. "
114
- "Incluye 'id' como primer elemento y etiquetas relevantes para cada tarea. "
115
- "Formato esperado: id,tarea1_label,tarea2_label,..."
116
- )
117
-
118
  # Enviar solicitud a la API
119
  response = requests.post(API_URL, headers=headers, json={"inputs": prompt})
120
- response.raise_for_status() # Lanza error si hay un problema HTTP
121
 
122
  # Procesar respuesta
123
  if response.status_code == 200:
124
  encabezado = response.json()[0]["generated_text"].strip()
 
 
 
 
 
125
  return encabezado
126
  else:
127
  raise ValueError(f"Error en la API: {response.text}")
128
 
129
  except requests.exceptions.HTTPError as e:
130
  if e.response.status_code == 401:
131
- raise ValueError("API Key inválida o sin permisos. Verifica tu clave en HuggingFace.")
132
  elif e.response.status_code == 403:
133
- raise ValueError("Acceso denegado al modelo. Prueba con otro modelo público como 'google/flan-t5-base'.")
134
- elif e.response.status_code == 404:
135
- raise ValueError("El modelo no existe en HuggingFace. Asegúrate de usar un modelo válido.")
136
  else:
137
  raise ValueError(f"Error HTTP: {str(e)}")
138
  except Exception as e:
 
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/google/flan-t5-base"
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:
132
  raise ValueError(f"Error en la API: {response.text}")
133
 
134
  except requests.exceptions.HTTPError as e:
135
  if e.response.status_code == 401:
136
+ raise ValueError("API Key inválida o sin permisos.")
137
  elif e.response.status_code == 403:
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: