Andro0s commited on
Commit
a7bd5fa
verified
1 Parent(s): 8819d2a

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +59 -0
app.py ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ===============================
2
+ # AmorCoder AI - Space de Producci贸n
3
+ # ===============================
4
+ import gradio as gr
5
+ from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
6
+ from peft import PeftModel
7
+ import torch
8
+
9
+ # -------------------------------
10
+ # 1锔忊儯 Cargar modelo base y LoRA
11
+ # -------------------------------
12
+ MODEL_NAME = "codellama/CodeLlama-7b-hf"
13
+ LORA_PATH = "./lora_codellama" # carpeta con tus pesos LoRA
14
+
15
+ print("Cargando modelo...")
16
+ tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
17
+ model = AutoModelForCausalLM.from_pretrained(
18
+ MODEL_NAME,
19
+ device_map="auto",
20
+ torch_dtype=torch.float16
21
+ )
22
+
23
+ print("Aplicando pesos LoRA...")
24
+ model = PeftModel.from_pretrained(model, LORA_PATH)
25
+
26
+ # Crear pipeline de generaci贸n
27
+ codegen = pipeline(
28
+ "text-generation",
29
+ model=model,
30
+ tokenizer=tokenizer,
31
+ device=0,
32
+ max_new_tokens=512,
33
+ temperature=0.2,
34
+ top_p=0.95
35
+ )
36
+
37
+ # -------------------------------
38
+ # 2锔忊儯 Funci贸n de generaci贸n de c贸digo
39
+ # -------------------------------
40
+ def generar_codigo(instruccion):
41
+ prompt = f"# Instrucci贸n:\n{instruccion}\n\n# C贸digo:\n"
42
+ salida = codegen(prompt)[0]["generated_text"]
43
+ # Extraer solo el c贸digo generado despu茅s de la instrucci贸n
44
+ if "# C贸digo:" in salida:
45
+ return salida.split("# C贸digo:")[1].strip()
46
+ return salida.strip()
47
+
48
+ # -------------------------------
49
+ # 3锔忊儯 Interfaz Gradio
50
+ # -------------------------------
51
+ iface = gr.Interface(
52
+ fn=generar_codigo,
53
+ inputs=gr.Textbox(lines=4, placeholder="Escribe tu instrucci贸n aqu铆..."),
54
+ outputs=gr.Textbox(lines=20, placeholder="C贸digo generado..."),
55
+ title="馃挋 AmorCoder AI - Programaci贸n Inteligente",
56
+ description="Genera c贸digo real y completo usando CodeLlama 7B adaptado a tu estilo con LoRA."
57
+ )
58
+
59
+ iface.launch()