Benchmark · coding

BigCodeBench

0 resultados 0 modelos

BigCodeBench es un benchmark de generación de código en Python con 1140 tareas de programación reales, cada una de las cuales exige combinar llamadas a varias bibliotecas; se puntúa con Pass@1 basado en ejecución: la fracción de tareas cuya solución generada supera todas las pruebas unitarias.

Leer más
Ejemplo
Una tarea típica da una firma de función más un docstring detallado —por ejemplo, «cargar un CSV, calcular estadísticas resumidas por grupo con pandas y luego dibujar un gráfico de barras con matplotlib»— y pide al modelo escribir un cuerpo que conecte correctamente varias llamadas a bibliotecas.
Puntuación
La métrica es Pass@1 calibrado, normalmente con decodificación voraz: cada programa generado se ejecuta contra las pruebas unitarias de la tarea en un entorno aislado, una tarea cuenta como resuelta solo si pasan todas las pruebas, y la puntuación es el porcentaje de tareas resueltas. Se reportan dos particiones —Complete (completar una función guiada por docstring) e Instruct (solo una instrucción en lenguaje natural)— más un subconjunto Hard de 148 tareas.
Verificación
La aceptación es únicamente por ejecución: la solución debe pasar todas las pruebas unitarias escritas a mano de la tarea (unas 5,6 por tarea, con ~99% de cobertura media de ramas) al ejecutarse en un entorno aislado. No hay crédito parcial ni comparación con un texto de referencia.
Por qué importa
A diferencia de benchmarks cortos de una sola función como HumanEval, BigCodeBench comprueba si un modelo puede seguir instrucciones complejas y usar correctamente APIs reales y diversas de 139 bibliotecas y 7 dominios, lo que refleja mejor el trabajo práctico con software; la partición Instruct y el subconjunto Hard exigen aún más el seguimiento de instrucciones y la composición de herramientas.
Ejemplo resuelto
Tarea
```python import pandas as pd import numpy as np def task_func(df, column): """ Estandariza la columna numérica dada de un DataFrame a media cero y varianza unitaria, y devuelve el DataFrame modificado. Requirements: - pandas - numpy Parameters: df (pd.DataFrame): Los datos de entrada. column (str): Nombre de la columna numérica a estandarizar. Returns: pd.DataFrame: El DataFrame con la columna estandarizada. Example: >>> df = pd.DataFrame({'a': [1, 2, 3, 4, 5]}) >>> round(task_func(df, 'a')['a'].mean(), 5) 0.0 """ ```
Solución
```python
    df[column] = (df[column] - np.mean(df[column])) / np.std(df[column])
    return df
```
Explicación
Restar la media de la columna y dividir por la desviación estándar poblacional (np.std, ddof=0) reescala los valores a media 0 y varianza unitaria, satisfaciendo el docstring y su doctest (la media se redondea a 0.0), y usa ambas librerías requeridas. La calificación se basa en la ejecución: BigCodeBench ejecuta la función completada contra las pruebas unitarias ocultas de la tarea y otorga Pass@1 solo si todas las pruebas pasan.

Aún no hay puntuaciones verificadas para este benchmark.