Bertug1911 commited on
Commit
f38f0f4
·
verified ·
1 Parent(s): 2a0b108

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -43
app.py CHANGED
@@ -1,4 +1,3 @@
1
- import time
2
  import subprocess
3
  import sys
4
 
@@ -6,38 +5,26 @@ def install_and_import(package):
6
  try:
7
  __import__(package)
8
  except ImportError:
9
- print(f"{package} not installed, installing...")
10
  subprocess.check_call([sys.executable, "-m", "pip", "install", package])
11
 
 
12
  install_and_import("gradio")
13
  install_and_import("transformers")
14
  install_and_import("torch")
15
 
 
16
  import gradio as gr
17
  from transformers import AutoTokenizer, AutoModelForCausalLM
18
  import torch
19
 
20
- MODEL_OPTIONS = {
21
- "BrtGPT-124m-Base": "Bertug1911/BrtGPT-124m-Base",
22
- }
23
-
24
- loaded_models = {}
25
-
26
- def load_model_and_tokenizer(model_key):
27
- if model_key not in loaded_models:
28
- print(f"Loading model {model_key}...")
29
- model_name = MODEL_OPTIONS[model_key]
30
- tokenizer = AutoTokenizer.from_pretrained(model_name)
31
- model = AutoModelForCausalLM.from_pretrained(model_name)
32
- loaded_models[model_key] = (tokenizer, model)
33
- return loaded_models[model_key]
34
-
35
- def generate_text(prompt, temperature, top_k, max_new_tokens, model_key):
36
- tokenizer, model = load_model_and_tokenizer(model_key)
37
 
 
38
  inputs = tokenizer(prompt, return_tensors="pt")
39
-
40
- start_time = time.time()
41
  output = model.generate(
42
  **inputs,
43
  max_new_tokens=int(max_new_tokens),
@@ -45,37 +32,22 @@ def generate_text(prompt, temperature, top_k, max_new_tokens, model_key):
45
  top_k=int(top_k),
46
  do_sample=True,
47
  )
48
- end_time = time.time()
49
-
50
  generated_text = tokenizer.decode(output[0], skip_special_tokens=False)
51
  generated_text = generated_text.replace(" ", "").replace("Ġ", " ")
 
52
 
53
- tokenized_output = tokenizer.tokenize(generated_text)
54
- token_count = len(tokenized_output)
55
-
56
- elapsed = end_time - start_time
57
- tokens_per_sec = token_count / elapsed if elapsed > 0 else 0
58
-
59
- details = f"Token count: {token_count} | Tokens per second: {tokens_per_sec:.2f}"
60
- return generated_text, details
61
-
62
- interface = gr.Interface(
63
  fn=generate_text,
64
  inputs=[
65
- gr.Textbox(lines=2, placeholder="Enter your prompt here..."),
66
  gr.Slider(minimum=0.01, maximum=1.0, value=0.5, step=0.01, label="Temperature"),
67
- gr.Slider(minimum=1, maximum=50, value=10, step=1, label="Top-K"),
68
- gr.Slider(minimum=1, maximum=100, value=15, step=1, label="Max New Tokens"),
69
- gr.Dropdown(choices=list(MODEL_OPTIONS.keys()), value="BrtGPT-124m-Base (Smartest and Fastest)", label="Select Model"),
70
- ],
71
- outputs=[
72
- "text",
73
- gr.Textbox(label="Performance", interactive=False)
74
  ],
 
75
  title="BrtGPT-124m-Base",
76
  description="Adjust the parameters, select the model, and generate text. (0.7 Temp and Top-k = 10 is good for CREATIVITY, 0.1/0.15 Temp. and Top-k = 1-5 is good for ACCURACY"
77
  )
78
 
79
- interface.launch()
80
-
81
 
 
 
1
  import subprocess
2
  import sys
3
 
 
5
  try:
6
  __import__(package)
7
  except ImportError:
8
+ print(f"{package} yüklü değil, kuruluyor...")
9
  subprocess.check_call([sys.executable, "-m", "pip", "install", package])
10
 
11
+ # Gerekli paketleri kontrol et ve kur
12
  install_and_import("gradio")
13
  install_and_import("transformers")
14
  install_and_import("torch")
15
 
16
+ # Şimdi import et
17
  import gradio as gr
18
  from transformers import AutoTokenizer, AutoModelForCausalLM
19
  import torch
20
 
21
+ # Model ve tokenizer yükleme
22
+ model_name = "Bertug1911/BrtGPT-124m-Base"
23
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
24
+ model = AutoModelForCausalLM.from_pretrained(model_name)
 
 
 
 
 
 
 
 
 
 
 
 
 
25
 
26
+ def generate_text(prompt, temperature, top_k, max_new_tokens):
27
  inputs = tokenizer(prompt, return_tensors="pt")
 
 
28
  output = model.generate(
29
  **inputs,
30
  max_new_tokens=int(max_new_tokens),
 
32
  top_k=int(top_k),
33
  do_sample=True,
34
  )
 
 
35
  generated_text = tokenizer.decode(output[0], skip_special_tokens=False)
36
  generated_text = generated_text.replace(" ", "").replace("Ġ", " ")
37
+ return generated_text
38
 
39
+ arayuz = gr.Interface(
 
 
 
 
 
 
 
 
 
40
  fn=generate_text,
41
  inputs=[
42
+ gr.Textbox(lines=3, placeholder="Your prompt..."),
43
  gr.Slider(minimum=0.01, maximum=1.0, value=0.5, step=0.01, label="Temperature"),
44
+ gr.Slider(minimum=1, maximum=50, value=1, step=10, label="Top-K"),
45
+ gr.Slider(minimum=1, maximum=100, value=3, step=15, label="Max New Tokens"),
 
 
 
 
 
46
  ],
47
+ outputs="text",
48
  title="BrtGPT-124m-Base",
49
  description="Adjust the parameters, select the model, and generate text. (0.7 Temp and Top-k = 10 is good for CREATIVITY, 0.1/0.15 Temp. and Top-k = 1-5 is good for ACCURACY"
50
  )
51
 
52
+ arayuz.launch()
 
53