Andro0s commited on
Commit
37edf61
verified
1 Parent(s): 8d0f417

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -5
app.py CHANGED
@@ -9,7 +9,7 @@ from peft import LoraConfig, get_peft_model
9
  # -------------------------------
10
  MODEL_NAME = "codellama/CodeLlama-7b-hf" # Modelo base
11
  LORA_DIR = "lora_codellama" # Carpeta donde se guardar谩 LoRA
12
- DATASET_PATH = "tu_dataset.json" # Tu dataset local (JSONL o JSON)
13
 
14
  # Crear carpeta si no existe
15
  os.makedirs(LORA_DIR, exist_ok=True)
@@ -43,10 +43,25 @@ model = get_peft_model(model, lora_config)
43
  # Cargar dataset
44
  # -------------------------------
45
  dataset = load_dataset("json", data_files=DATASET_PATH)
46
- dataset = dataset["train"] # Asume que el JSON tiene solo la parte de entrenamiento
47
 
 
 
 
 
 
48
  def tokenize_function(examples):
49
- return tokenizer(examples["text"], truncation=True, max_length=512)
 
 
 
 
 
 
 
 
 
 
50
 
51
  tokenized_datasets = dataset.map(tokenize_function, batched=True)
52
 
@@ -60,7 +75,7 @@ data_collator = DataCollatorForLanguageModeling(
60
  # -------------------------------
61
  training_args = TrainingArguments(
62
  output_dir=LORA_DIR,
63
- num_train_epochs=1, # Ajusta seg煤n tu tiempo
64
  per_device_train_batch_size=1,
65
  save_steps=500,
66
  save_total_limit=1,
@@ -86,4 +101,4 @@ trainer.train()
86
  # -------------------------------
87
  print("Guardando LoRA en la carpeta:", LORA_DIR)
88
  model.save_pretrained(LORA_DIR)
89
- print("隆Entrenamiento completado! Ahora tu LoRA est谩 lista para producci贸n.")
 
9
  # -------------------------------
10
  MODEL_NAME = "codellama/CodeLlama-7b-hf" # Modelo base
11
  LORA_DIR = "lora_codellama" # Carpeta donde se guardar谩 LoRA
12
+ DATASET_PATH = "tu_dataset.json" # Tu dataset local (JSON)
13
 
14
  # Crear carpeta si no existe
15
  os.makedirs(LORA_DIR, exist_ok=True)
 
43
  # Cargar dataset
44
  # -------------------------------
45
  dataset = load_dataset("json", data_files=DATASET_PATH)
46
+ dataset = dataset["train"]
47
 
48
+ print("Columnas del dataset:", dataset.column_names)
49
+
50
+ # -------------------------------
51
+ # Funci贸n de tokenizaci贸n
52
+ # -------------------------------
53
  def tokenize_function(examples):
54
+ # Detectar columnas autom谩ticamente
55
+ columns = dataset.column_names
56
+ if "prompt" in columns and "completion" in columns:
57
+ texts = [p + "\n" + c for p, c in zip(examples["prompt"], examples["completion"])]
58
+ elif "text" in columns:
59
+ texts = examples["text"]
60
+ else:
61
+ # Si no encuentra las columnas, lanza un error con info
62
+ raise ValueError(f"Columnas inv谩lidas en dataset: {columns}")
63
+
64
+ return tokenizer(texts, truncation=True, max_length=512)
65
 
66
  tokenized_datasets = dataset.map(tokenize_function, batched=True)
67
 
 
75
  # -------------------------------
76
  training_args = TrainingArguments(
77
  output_dir=LORA_DIR,
78
+ num_train_epochs=1, # Ajusta seg煤n tu tiempo y GPU
79
  per_device_train_batch_size=1,
80
  save_steps=500,
81
  save_total_limit=1,
 
101
  # -------------------------------
102
  print("Guardando LoRA en la carpeta:", LORA_DIR)
103
  model.save_pretrained(LORA_DIR)
104
+ print("隆Entrenamiento completado! LoRA lista para producci贸n.")