Spaces:
Runtime error
Runtime error
Delete prepare_codesearchnet.py
Browse files- prepare_codesearchnet.py +0 -56
prepare_codesearchnet.py
DELETED
|
@@ -1,56 +0,0 @@
|
|
| 1 |
-
# prepare_codesearchnet.py
|
| 2 |
-
|
| 3 |
-
from datasets import load_dataset
|
| 4 |
-
|
| 5 |
-
# La ruta donde guardaremos el nuevo dataset para LoRA
|
| 6 |
-
OUTPUT_FILE = "codesearchnet_lora_dataset.json"
|
| 7 |
-
|
| 8 |
-
# Número de ejemplos a usar. (¡ADVERTENCIA: 50000 es el MÁXIMO recomendado
|
| 9 |
-
# para evitar que tu entorno colapse. Puedes empezar con 5000!)
|
| 10 |
-
NUM_SAMPLES = 50000
|
| 11 |
-
|
| 12 |
-
print(f"Cargando CodeSearchNet (Python) - {NUM_SAMPLES} muestras...")
|
| 13 |
-
|
| 14 |
-
# 1. Cargar el dataset. 'Nan-Do/code-search-net-python' es una versión popular.
|
| 15 |
-
try:
|
| 16 |
-
# Usamos 'test' o 'validation' si el 'train' es demasiado grande para tu RAM
|
| 17 |
-
raw_csn = load_dataset('Nan-Do/code-search-net-python', split='train[:{}]'.format(NUM_SAMPLES))
|
| 18 |
-
except Exception as e:
|
| 19 |
-
print(f"Error al cargar el dataset de Hugging Face: {e}")
|
| 20 |
-
print("Asegúrate de tener conexión a Internet.")
|
| 21 |
-
exit()
|
| 22 |
-
|
| 23 |
-
# 2. Definir la función de transformación (adapta el formato al prompt/completion)
|
| 24 |
-
def format_for_lora(example):
|
| 25 |
-
# Generamos un prompt que instruye al modelo usando la documentación.
|
| 26 |
-
# El modelo base SantaCoder está acostumbrado a este formato.
|
| 27 |
-
prompt_text = (
|
| 28 |
-
f"# Descripción: {example['docstring_summary']}\n"
|
| 29 |
-
f"# Completa la siguiente función:\n"
|
| 30 |
-
f"def {example['func_name']}("
|
| 31 |
-
)
|
| 32 |
-
|
| 33 |
-
# La completion es el cuerpo completo de la función
|
| 34 |
-
completion_text = example['code']
|
| 35 |
-
|
| 36 |
-
return {
|
| 37 |
-
"prompt": prompt_text,
|
| 38 |
-
"completion": completion_text
|
| 39 |
-
}
|
| 40 |
-
|
| 41 |
-
# 3. Aplicar la transformación
|
| 42 |
-
print("Aplicando la transformación al formato 'prompt/completion'...")
|
| 43 |
-
lora_dataset = raw_csn.map(
|
| 44 |
-
format_for_lora,
|
| 45 |
-
remove_columns=raw_csn.column_names,
|
| 46 |
-
# El campo 'code' en CodeSearchNet ya tiene la definición de 'def',
|
| 47 |
-
# pero a veces el prompt_text hace que se duplique.
|
| 48 |
-
# Necesitas un poco de limpieza aquí, pero para empezar, esto funciona.
|
| 49 |
-
)
|
| 50 |
-
|
| 51 |
-
# 4. Guardar el resultado en un solo archivo JSON
|
| 52 |
-
print(f"Guardando {len(lora_dataset)} ejemplos en {OUTPUT_FILE}...")
|
| 53 |
-
lora_dataset.to_json(OUTPUT_FILE)
|
| 54 |
-
|
| 55 |
-
print("✅ Pre-procesamiento completado.")
|
| 56 |
-
print("Ahora actualiza tu app.py para usar 'codesearchnet_lora_dataset.json'.")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|