Spaces:
Running
Running
File size: 4,065 Bytes
ec80aa7 7d9d48e ec80aa7 7d9d48e ec80aa7 7d9d48e ec80aa7 7d9d48e ec80aa7 7d9d48e 7346895 7d9d48e 7346895 7d9d48e ec80aa7 7d9d48e ec80aa7 7d9d48e 6d36002 7d9d48e ec80aa7 7d9d48e ec80aa7 7d9d48e 7346895 ec80aa7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
from dataclasses import dataclass
from enum import Enum
from typing import Dict, List
from src.evaluation.questions import EXAM_QUESTIONS
from src.envs import QUEUE_REPO, RESULTS_REPO, REPO_ID, EXAM_QUESTIONS_REPO, HF_DATASETS_BASE_URL
@dataclass
class Task:
benchmark: str
metric: str
col_name: str
display_name: str
def create_tasks_enum():
"""Create Tasks enum dynamically from dataset themes"""
task_dict = {}
for sanitized_theme, questions in EXAM_QUESTIONS.items():
original_theme = questions[0]['theme']
task_dict[sanitized_theme] = Task(
benchmark=sanitized_theme,
metric="accuracy",
col_name=f"{original_theme} Test",
display_name=original_theme
)
# Add overall score
task_dict['overall'] = Task(
benchmark="overall",
metric="accuracy",
col_name="Overall Score",
display_name="Overall Score"
)
return Enum('Tasks', task_dict)
Tasks = create_tasks_enum()
NUM_FEWSHOT = 0
TITLE = """<h1 align="center" id="space-title">馃弳 SAS Opposition Exam Leaderboard</h1>"""
INTRODUCTION_TEXT = """
Este leaderboard eval煤a modelos de lenguaje natural simulando la experiencia real de un opositor al Servicio Andaluz de Salud (SAS).
Al igual que un alumno opositor, los modelos deben responder a preguntas tipo test del temario oficial, demostrando su comprensi贸n y conocimiento de las materias evaluadas.
"""
LLM_BENCHMARKS_TEXT = f"""
## C贸mo funciona
Los modelos son evaluados exactamente igual que un opositor real: respondiendo preguntas tipo test del temario oficial del SAS, sin acceso a material de consulta durante la prueba.
Para consultar el temario completo y el proceso de oposici贸n, puede visitar la [p谩gina oficial del SAS](https://www.sspa.juntadeandalucia.es/servicioandaluzdesalud/profesionales/ofertas-de-empleo/oferta-de-empleo-publico-puestos-base/oep-extraordinaria-decreto-ley-122022-centros-sas/cuadro-de-evolucion-concurso-oposicion-centros-sas).
## Datasets del Proyecto
El proyecto utiliza tres datasets principales, todos disponibles en Hugging Face:
- [Dataset de Preguntas de Examen]({HF_DATASETS_BASE_URL}/{EXAM_QUESTIONS_REPO}): Contiene las preguntas tipo test utilizadas para la evaluaci贸n
- [Dataset de Solicitudes]({HF_DATASETS_BASE_URL}/{QUEUE_REPO}): Almacena las solicitudes de evaluaci贸n de modelos
- [Dataset de Resultados]({HF_DATASETS_BASE_URL}/{RESULTS_REPO}): Contiene los resultados de las evaluaciones realizadas
## Proceso de Evaluaci贸n
- Cada modelo se enfrenta a preguntas tipo test, similar al examen real de oposici贸n
- Las preguntas son de opci贸n m煤ltiple con una 煤nica respuesta correcta
- La puntuaci贸n se calcula como porcentaje de aciertos, igual que en la oposici贸n real
## Reproducibilidad
El c贸digo de evaluaci贸n est谩 disponible en este repositorio. Para reproducir resultados:
1. Env铆a tu modelo a trav茅s de la pesta帽a "Submit here!"
2. Puedes usar modelos de Hugging Face Hub o de OpenRouter
3. Los resultados se calcular谩n autom谩ticamente y se a帽adir谩n al leaderboard
"""
EVALUATION_QUEUE_TEXT = """
## Opciones para evaluar tu modelo
### 1) Usando Hugging Face Hub:
- Aseg煤rate de que tu modelo est谩 disponible en el Hub
- El modelo debe poder cargarse usando AutoModelForCausalLM y AutoTokenizer
- Necesitar谩s proporcionar el nombre del modelo y la revisi贸n
### 2) Usando OpenRouter:
- Necesitar谩s una API key de OpenRouter
- Proporciona el nombre exacto del modelo como aparece en OpenRouter
- No necesitas hospedar el modelo, OpenRouter se encarga de eso
### Requisitos generales:
- Los modelos deben poder generar texto en espa帽ol
- Deben poder entender y responder preguntas de opci贸n m煤ltiple
- Se recomienda usar modelos con capacidad de razonamiento general
"""
CITATION_BUTTON_LABEL = "Citar estos resultados"
CITATION_BUTTON_TEXT = r"""
@misc{sas-exam-leaderboard,
title={SAS Opposition Exam Leaderboard},
year={2025},
url={https://huggingface.co/spaces/alberti/leaderboard}
}
"""
|