Fifthoply commited on
Commit
76b10aa
verified
1 Parent(s): dca3a4a

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +52 -0
app.py ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import torch
3
+ from transformers import pipeline
4
+
5
+ # 1. Configurar el pipeline para CPU
6
+ model_id = "Fifthoply/AyudaAlab-0.1" # modelo :3
7
+
8
+ print("Cargando modelo Ayuda Alan en CPU...")
9
+ pipe = pipeline(
10
+ "text-generation",
11
+ model=model_id,
12
+ torch_dtype=torch.float32,
13
+ device_map="cpu"
14
+ )
15
+
16
+ def chat_responder(message, history):
17
+ # Formato ChatML: System + Historial (opcional) + Nueva pregunta
18
+ prompt = f"<|im_start|>system\nEres un asistente breve.<|im_end|>\n"
19
+
20
+ # A帽adimos historial si quieres que "recuerde", aunque para este modelo literal no es vital
21
+ for user_msg, assistant_msg in history:
22
+ prompt += f"<|im_start|>user\n{user_msg}<|im_end|>\n<|im_start|>assistant\n{assistant_msg}<|im_end|>\n"
23
+
24
+ prompt += f"<|im_start|>user\n{message}<|im_end|>\n<|im_start|>assistant\n"
25
+
26
+ # Generaci贸n
27
+ outputs = pipe(
28
+ prompt,
29
+ max_new_tokens=25,
30
+ do_sample=True,
31
+ temperature=0.1, # Muy baja para que no invente cosas raras
32
+ pad_token_id=pipe.tokenizer.pad_token_id,
33
+ eos_token_id=pipe.tokenizer.eos_token_id
34
+ )
35
+
36
+ # Extraer solo la 煤ltima respuesta
37
+ raw_text = outputs[0]['generated_text']
38
+ respuesta = raw_text.split("assistant\n")[-1].strip().split("<|im_end|>")[0]
39
+ return respuesta
40
+
41
+ # 2. Interfaz tipo Chat
42
+ demo = gr.ChatInterface(
43
+ fn=chat_responder,
44
+ title="Ayuda Alan 馃Ε",
45
+ description="Hazme una pregunta y te dir茅 c贸mo se hace (literalmente).",
46
+ examples=["驴C贸mo se toma agua?", "驴C贸mo se cruza la calle?", "驴C贸mo se duerme?"],
47
+ type="messages", # Formato moderno de Gradio
48
+ theme="glass"
49
+ )
50
+
51
+ if __name__ == "__main__":
52
+ demo.launch()