MaxLSB commited on
Commit
f5f805b
·
verified ·
1 Parent(s): 1dc8ea5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -24
app.py CHANGED
@@ -1,11 +1,7 @@
1
  import os
2
  import threading
3
  import gradio as gr
4
- from transformers import (
5
- AutoModelForCausalLM,
6
- AutoTokenizer,
7
- TextIteratorStreamer,
8
- )
9
 
10
  MODEL_NAMES = ["LeCarnet-3M", "LeCarnet-8M", "LeCarnet-21M"]
11
  HF_TOKEN = os.environ.get("HUGGINGFACEHUB_API_TOKEN") or os.getenv("HUGGINGFACEHUB_API_TOKEN")
@@ -13,6 +9,7 @@ MEDIA_PATH = "media/le-carnet.png"
13
 
14
  models = {}
15
  tokenizers = {}
 
16
  for name in MODEL_NAMES:
17
  hub_id = f"MaxLSB/{name}"
18
  tokenizers[name] = AutoTokenizer.from_pretrained(hub_id, token=HF_TOKEN)
@@ -20,14 +17,7 @@ for name in MODEL_NAMES:
20
  models[name].eval()
21
 
22
 
23
- def respond(
24
- prompt: str,
25
- chat_history,
26
- selected_model: str,
27
- max_tokens: int,
28
- temperature: float,
29
- top_p: float,
30
- ):
31
  tokenizer = tokenizers[selected_model]
32
  model = models[selected_model]
33
  inputs = tokenizer(prompt, return_tensors="pt")
@@ -72,24 +62,26 @@ with gr.Blocks(css=".gr-chatbox {height: 600px !important;}") as demo:
72
  toggle_btn = gr.Button("Show/hide parameters", elem_id="toggle-btn")
73
  chat = gr.ChatInterface(
74
  fn=respond,
75
- additional_inputs=[],
 
 
 
 
 
76
  examples=[
77
  ["Il était une fois un petit garçon qui vivait dans un village paisible."],
78
  ["Il était une fois une grenouille qui rêvait de toucher les étoiles chaque nuit depuis son étang."],
79
  ["Il était une fois un petit lapin perdu"],
80
  ],
81
  cache_examples=False,
 
82
  )
83
 
84
- with gr.Column(scale=1, visible=True, elem_id="settings-panel") as param_panel:
85
- selected_model = gr.Dropdown(MODEL_NAMES, value="LeCarnet-8M", label="Model")
86
- max_tokens = gr.Slider(1, 512, value=512, step=1, label="Max new tokens")
87
- temperature = gr.Slider(0.1, 2.0, value=0.7, step=0.1, label="Temperature")
88
- top_p = gr.Slider(0.1, 1.0, value=0.9, step=0.05, label="Top‑p")
89
-
90
- chat.additional_inputs = [selected_model, max_tokens, temperature, top_p]
91
 
92
- demo.load(None, None, _js="""
 
93
  () => {
94
  const toggleBtn = document.querySelector('#toggle-btn button') || document.querySelector('#toggle-btn');
95
  const panel = document.querySelector('#settings-panel');
@@ -97,7 +89,9 @@ with gr.Blocks(css=".gr-chatbox {height: 600px !important;}") as demo:
97
  panel.style.display = (panel.style.display === 'none') ? 'flex' : 'none';
98
  });
99
  }
100
- """)
 
 
101
 
102
  if __name__ == "__main__":
103
- demo.queue(default_concurrency_limit=10,max_size=10).launch(ssr_mode=False, max_threads=10)
 
1
  import os
2
  import threading
3
  import gradio as gr
4
+ from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
 
 
 
 
5
 
6
  MODEL_NAMES = ["LeCarnet-3M", "LeCarnet-8M", "LeCarnet-21M"]
7
  HF_TOKEN = os.environ.get("HUGGINGFACEHUB_API_TOKEN") or os.getenv("HUGGINGFACEHUB_API_TOKEN")
 
9
 
10
  models = {}
11
  tokenizers = {}
12
+
13
  for name in MODEL_NAMES:
14
  hub_id = f"MaxLSB/{name}"
15
  tokenizers[name] = AutoTokenizer.from_pretrained(hub_id, token=HF_TOKEN)
 
17
  models[name].eval()
18
 
19
 
20
+ def respond(prompt: str, chat_history, selected_model: str, max_tokens: int, temperature: float, top_p: float):
 
 
 
 
 
 
 
21
  tokenizer = tokenizers[selected_model]
22
  model = models[selected_model]
23
  inputs = tokenizer(prompt, return_tensors="pt")
 
62
  toggle_btn = gr.Button("Show/hide parameters", elem_id="toggle-btn")
63
  chat = gr.ChatInterface(
64
  fn=respond,
65
+ additional_inputs=[
66
+ gr.Dropdown(MODEL_NAMES, value="LeCarnet-8M", label="Model"),
67
+ gr.Slider(1, 512, value=512, step=1, label="Max new tokens"),
68
+ gr.Slider(0.1, 2.0, value=0.7, step=0.1, label="Temperature"),
69
+ gr.Slider(0.1, 1.0, value=0.9, step=0.05, label="Top‑p"),
70
+ ],
71
  examples=[
72
  ["Il était une fois un petit garçon qui vivait dans un village paisible."],
73
  ["Il était une fois une grenouille qui rêvait de toucher les étoiles chaque nuit depuis son étang."],
74
  ["Il était une fois un petit lapin perdu"],
75
  ],
76
  cache_examples=False,
77
+ type="messages",
78
  )
79
 
80
+ with gr.Column(scale=1, visible=True, elem_id="settings-panel"):
81
+ pass # Inputs are already defined in ChatInterface
 
 
 
 
 
82
 
83
+ demo.load(
84
+ js="""
85
  () => {
86
  const toggleBtn = document.querySelector('#toggle-btn button') || document.querySelector('#toggle-btn');
87
  const panel = document.querySelector('#settings-panel');
 
89
  panel.style.display = (panel.style.display === 'none') ? 'flex' : 'none';
90
  });
91
  }
92
+ """
93
+ )
94
+
95
 
96
  if __name__ == "__main__":
97
+ demo.queue(default_concurrency_limit=10, max_size=10).launch(ssr_mode=False, max_threads=10)