pedrodev2026 commited on
Commit
563c74e
·
verified ·
1 Parent(s): 7af1fb9

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +64 -0
app.py ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Gerado com IA
2
+ import torch
3
+ import gradio as gr
4
+ from transformers import AutoTokenizer, AutoModelForCausalLM
5
+
6
+ # =========================
7
+ # CONFIG
8
+ # =========================
9
+ MODEL_ID = "CromIA/MicroLM-1M"
10
+
11
+ # =========================
12
+ # LOAD MODEL
13
+ # =========================
14
+ tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
15
+
16
+ if tokenizer.pad_token is None:
17
+ tokenizer.pad_token = tokenizer.eos_token
18
+
19
+ model = AutoModelForCausalLM.from_pretrained(MODEL_ID)
20
+ model.eval()
21
+
22
+ device = "cuda" if torch.cuda.is_available() else "cpu"
23
+ model.to(device)
24
+
25
+ # =========================
26
+ # GENERATE FUNCTION
27
+ # =========================
28
+ def generate_text(prompt, max_new_tokens, temperature, top_p):
29
+ inputs = tokenizer(prompt, return_tensors="pt").to(device)
30
+
31
+ with torch.no_grad():
32
+ output = model.generate(
33
+ **inputs,
34
+ max_new_tokens=int(max_new_tokens),
35
+ do_sample=True,
36
+ temperature=float(temperature),
37
+ top_p=float(top_p),
38
+ repetition_penalty=1.1,
39
+ pad_token_id=tokenizer.eos_token_id
40
+ )
41
+
42
+ return tokenizer.decode(output[0], skip_special_tokens=True)
43
+
44
+ # =========================
45
+ # UI
46
+ # =========================
47
+ demo = gr.Interface(
48
+ fn=generate_text,
49
+ inputs=[
50
+ gr.Textbox(lines=3, placeholder="Digite um prompt..."),
51
+ gr.Slider(10, 200, value=80, label="Max new tokens"),
52
+ gr.Slider(0.1, 1.5, value=0.8, label="Temperature"),
53
+ gr.Slider(0.5, 1.0, value=0.95, label="Top-p"),
54
+ ],
55
+ outputs=gr.Textbox(label="Output"),
56
+ title="MicroLM-1M",
57
+ description="Modelo de linguagem leve (~1M parâmetros) treinado em 500M tokens."
58
+ )
59
+
60
+ # =========================
61
+ # RUN
62
+ # =========================
63
+ if __name__ == "__main__":
64
+ demo.launch()