SergioSCA commited on
Commit
437853f
verified
1 Parent(s): 07db390

Update functions.py

Browse files
Files changed (1) hide show
  1. functions.py +21 -15
functions.py CHANGED
@@ -97,32 +97,38 @@ def generar_encabezado_inteligente(tareas_seleccionadas, api_key):
97
  if not tareas_seleccionadas:
98
  raise ValueError("Debes seleccionar al menos una tarea.")
99
 
100
- # Validar que se haya proporcionado una API Key
101
  if not api_key:
102
  raise ValueError("Debes proporcionar una API Key v谩lida.")
103
 
104
- # Usar un modelo de HuggingFace para generar el encabezado
105
- API_URL = "https://api-inference.huggingface.co/models/google/flan-t5-large"
106
- headers = {"Authorization": f"Bearer {api_key}"}
107
 
108
- # Construir el prompt para el modelo
109
  prompt = (
110
  f"Genera un encabezado de CSV para las siguientes tareas: {', '.join(tareas_seleccionadas)}. "
111
- "El encabezado debe incluir 'id' como primer elemento y etiquetas relevantes para cada tarea."
 
112
  )
113
 
114
- # Enviar la solicitud al modelo
115
  response = requests.post(API_URL, headers=headers, json={"inputs": prompt})
116
- response.raise_for_status() # Lanzar una excepci贸n si hay un error HTTP
117
 
 
118
  if response.status_code == 200:
119
- encabezado = response.json()[0]["generated_text"]
120
  return encabezado
121
  else:
122
- raise ValueError(f"Error al generar el encabezado: {response.text}")
123
- except requests.exceptions.RequestException as e:
124
- raise ValueError(f"Error en la solicitud a la API de HuggingFace: {str(e)}")
125
- except KeyError:
126
- raise ValueError("La respuesta de la API no contiene los datos esperados.")
 
 
 
 
127
  except Exception as e:
128
- raise ValueError(f"Error inesperado al generar el encabezado: {str(e)}")
 
97
  if not tareas_seleccionadas:
98
  raise ValueError("Debes seleccionar al menos una tarea.")
99
 
100
+ # Validar API Key
101
  if not api_key:
102
  raise ValueError("Debes proporcionar una API Key v谩lida.")
103
 
104
+ # Usar un modelo compatible con la API de HuggingFace
105
+ API_URL = "https://api-inference.huggingface.co/models/Qwen/Qwen2.5-72B" # Modelo alternativo <button class="citation-flag" data-index="3">
106
+ headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
107
 
108
+ # Construir el prompt
109
  prompt = (
110
  f"Genera un encabezado de CSV para las siguientes tareas: {', '.join(tareas_seleccionadas)}. "
111
+ "Incluye 'id' como primer elemento y etiquetas relevantes para cada tarea. "
112
+ "Formato esperado: id,tarea1_label,tarea2_label,..."
113
  )
114
 
115
+ # Enviar solicitud a la API
116
  response = requests.post(API_URL, headers=headers, json={"inputs": prompt})
117
+ response.raise_for_status() # Lanzar error si hay un problema HTTP
118
 
119
+ # Procesar respuesta
120
  if response.status_code == 200:
121
+ encabezado = response.json()[0]["generated_text"].strip()
122
  return encabezado
123
  else:
124
+ raise ValueError(f"Error en la API: {response.text}")
125
+
126
+ except requests.exceptions.HTTPError as e:
127
+ if e.response.status_code == 401:
128
+ raise ValueError("API Key inv谩lida o sin permisos. Verifica tu clave en HuggingFace.") <button class="citation-flag" data-index="1">
129
+ elif e.response.status_code == 404:
130
+ raise ValueError("El modelo no existe en HuggingFace. Prueba otro modelo.") <button class="citation-flag" data-index="2">
131
+ else:
132
+ raise ValueError(f"Error HTTP: {str(e)}")
133
  except Exception as e:
134
+ raise ValueError(f"Error inesperado: {str(e)}")