MisterAI commited on
Commit
eed79e0
·
verified ·
1 Parent(s): 7777b2e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -27
app.py CHANGED
@@ -40,18 +40,6 @@ def get_model_list():
40
  model_name = model_element.find('span', {'x-test-search-response-title': True}).text.strip()
41
  size_elements = model_element.find_all('span', {'x-test-size': True})
42
 
43
- # # Filtrer les modèles par taille
44
- # for size_element in size_elements:
45
- # size = size_element.text.strip()
46
- # if size.endswith('m'):
47
- # # Tous les modèles en millions sont acceptés
48
- # model_list.append(f"{model_name}:{size}")
49
- # elif size.endswith('b'):
50
- # # Convertir les modèles en milliards en milliards
51
- # size_value = float(size[:-1])
52
- # if size_value <= 10: # Filtrer les modèles <= 10 milliards de paramètres
53
- # model_list.append(f"{model_name}:{size}")
54
-
55
  # Filtrer les modèles par taille
56
  for size_element in size_elements:
57
  size = size_element.text.strip().lower() # Convertir en minuscules
@@ -108,23 +96,20 @@ def check_and_load_model(model_name):
108
  def gradio_interface(model_name, input, max_tokens, temperature, history):
109
  global stop_flag
110
  stop_flag = False
111
- response = None # Initialisez la variable response ici
112
 
113
  def worker():
114
- nonlocal response # Utilisez nonlocal pour accéder à la variable response définie dans la fonction parente
115
  llm = check_and_load_model(model_name)
116
- response = llm(input, max_tokens=max_tokens, temperature=temperature)
117
-
118
- thread = threading.Thread(target=worker)
119
- thread.start()
120
- thread.join()
121
-
122
- if stop_flag:
123
- history.append((input, "Processing stopped by the user."))
124
- return "Processing stopped by the user.", history
125
- else:
126
- history.append((input, response))
127
- return response, history # Maintenant, response est accessible ici
128
 
129
  model_list = get_model_list()
130
 
@@ -138,7 +123,7 @@ demo = gr.Interface(
138
  gr.State(value=[]) # Ajout de l'historique
139
  ],
140
  outputs=[
141
- gr.Textbox(label="Output"),
142
  gr.State() # Ajout de l'historique
143
  ],
144
  title="Ollama Demo",
@@ -148,6 +133,7 @@ demo = gr.Interface(
148
  Cette Démo permet aux utilisateurs de tester tous les modèles Ollama dont la taille est inférieure à 10 milliards de paramètres directement depuis cette interface.
149
 
150
  L'Application tourne sur une machine Hugging Face Free Space : 2 CPU - 16Gb RAM
 
151
  Soyez patient...
152
  """
153
  )
 
40
  model_name = model_element.find('span', {'x-test-search-response-title': True}).text.strip()
41
  size_elements = model_element.find_all('span', {'x-test-size': True})
42
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  # Filtrer les modèles par taille
44
  for size_element in size_elements:
45
  size = size_element.text.strip().lower() # Convertir en minuscules
 
96
  def gradio_interface(model_name, input, max_tokens, temperature, history):
97
  global stop_flag
98
  stop_flag = False
 
99
 
100
  def worker():
 
101
  llm = check_and_load_model(model_name)
102
+ for token in llm.stream(input, max_tokens=max_tokens, temperature=temperature):
103
+ if stop_flag:
104
+ break
105
+ history.append((input, token))
106
+ yield history, history
107
+
108
+ # Utiliser un thread pour gérer le streaming
109
+ for result in worker():
110
+ if stop_flag:
111
+ break
112
+ yield result
 
113
 
114
  model_list = get_model_list()
115
 
 
123
  gr.State(value=[]) # Ajout de l'historique
124
  ],
125
  outputs=[
126
+ gr.Chatbot(label="History"), # Utilisation de Chatbot pour l'historique
127
  gr.State() # Ajout de l'historique
128
  ],
129
  title="Ollama Demo",
 
133
  Cette Démo permet aux utilisateurs de tester tous les modèles Ollama dont la taille est inférieure à 10 milliards de paramètres directement depuis cette interface.
134
 
135
  L'Application tourne sur une machine Hugging Face Free Space : 2 CPU - 16Gb RAM
136
+
137
  Soyez patient...
138
  """
139
  )