Andro0s commited on
Commit
c16ed96
·
verified ·
1 Parent(s): 290bb59

Delete prepare_codesearchnet.py

Browse files
Files changed (1) hide show
  1. 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'.")