Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -18,21 +18,25 @@ def generate_response(user_message):
|
|
18 |
# Obtener el prompt del sistema
|
19 |
system_prompt = get_system_prompt()
|
20 |
|
21 |
-
# Crear el prompt completo
|
22 |
-
prompt = f"
|
|
|
|
|
|
|
|
|
23 |
|
24 |
# Generar respuesta usando el pipeline
|
25 |
response = generator(
|
26 |
prompt,
|
27 |
-
max_new_tokens=
|
28 |
temperature=0.7,
|
29 |
top_p=0.9,
|
30 |
do_sample=True,
|
31 |
num_return_sequences=1
|
32 |
)[0]["generated_text"]
|
33 |
|
34 |
-
# Extraer solo la respuesta (despu茅s
|
35 |
-
assistant_response = response.split("
|
36 |
|
37 |
# Forzar recolecci贸n de basura
|
38 |
gc.collect()
|
@@ -45,18 +49,19 @@ def generate_response(user_message):
|
|
45 |
return f"Lo siento, ha ocurrido un error: {str(e)}"
|
46 |
|
47 |
# Cargar el modelo y crear el pipeline
|
48 |
-
print("Cargando modelo ligero...")
|
49 |
|
50 |
-
# Usar un modelo peque帽o
|
51 |
-
model_name = "
|
52 |
|
53 |
-
# Configuraci贸n para reducir el uso de memoria
|
54 |
-
# IMPORTANTE: Eliminamos device_map="auto" que no es compatible con Phi-2
|
55 |
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
56 |
model = AutoModelForCausalLM.from_pretrained(
|
57 |
model_name,
|
58 |
torch_dtype=torch.float32,
|
59 |
-
low_cpu_mem_usage=True
|
|
|
|
|
60 |
)
|
61 |
|
62 |
# Crear el pipeline de generaci贸n de texto
|
@@ -88,6 +93,6 @@ demo = gr.Interface(
|
|
88 |
|
89 |
# Lanzar la aplicaci贸n con configuraci贸n para ahorrar memoria
|
90 |
if __name__ == "__main__":
|
91 |
-
# Configurar menos workers para ahorrar memoria
|
92 |
demo.queue(max_size=1).launch(share=False, debug=False)
|
93 |
|
|
|
18 |
# Obtener el prompt del sistema
|
19 |
system_prompt = get_system_prompt()
|
20 |
|
21 |
+
# Crear el prompt completo para TinyLlama
|
22 |
+
prompt = f"""<|system|>
|
23 |
+
{system_prompt}
|
24 |
+
<|user|>
|
25 |
+
{user_message}
|
26 |
+
<|assistant|>"""
|
27 |
|
28 |
# Generar respuesta usando el pipeline
|
29 |
response = generator(
|
30 |
prompt,
|
31 |
+
max_new_tokens=256, # Reducido para mayor velocidad
|
32 |
temperature=0.7,
|
33 |
top_p=0.9,
|
34 |
do_sample=True,
|
35 |
num_return_sequences=1
|
36 |
)[0]["generated_text"]
|
37 |
|
38 |
+
# Extraer solo la respuesta del asistente (despu茅s del 煤ltimo <|assistant|>)
|
39 |
+
assistant_response = response.split("<|assistant|>")[-1].strip()
|
40 |
|
41 |
# Forzar recolecci贸n de basura
|
42 |
gc.collect()
|
|
|
49 |
return f"Lo siento, ha ocurrido un error: {str(e)}"
|
50 |
|
51 |
# Cargar el modelo y crear el pipeline
|
52 |
+
print("Cargando modelo ultra ligero...")
|
53 |
|
54 |
+
# Usar TinyLlama, un modelo muy peque帽o (1.1B par谩metros) pero potente
|
55 |
+
model_name = "TinyLlama/TinyLlama-1.1B-Chat-v1.0"
|
56 |
|
57 |
+
# Configuraci贸n para reducir el uso de memoria y aumentar velocidad
|
|
|
58 |
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
59 |
model = AutoModelForCausalLM.from_pretrained(
|
60 |
model_name,
|
61 |
torch_dtype=torch.float32,
|
62 |
+
low_cpu_mem_usage=True,
|
63 |
+
# Cargamos en 8-bit para reducir memoria y aumentar velocidad
|
64 |
+
load_in_8bit=True
|
65 |
)
|
66 |
|
67 |
# Crear el pipeline de generaci贸n de texto
|
|
|
93 |
|
94 |
# Lanzar la aplicaci贸n con configuraci贸n para ahorrar memoria
|
95 |
if __name__ == "__main__":
|
96 |
+
# Configurar menos workers para ahorrar memoria y aumentar velocidad
|
97 |
demo.queue(max_size=1).launch(share=False, debug=False)
|
98 |
|