AugustLight commited on
Commit
7030ad8
·
verified ·
1 Parent(s): fd0bb7c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -13
app.py CHANGED
@@ -1,9 +1,7 @@
1
  import gradio as gr
2
  from huggingface_hub import hf_hub_download
3
  from llama_cpp import Llama
4
- import os
5
 
6
- # Так надо
7
  model = None
8
 
9
  def load_model():
@@ -22,7 +20,7 @@ def load_model():
22
  model = Llama(
23
  model_path=model_path,
24
  n_ctx=2048, # Размер контекста
25
- n_threads=os.cpu_count(), # Количество потоков
26
  n_batch=512 # Размер батча
27
  )
28
 
@@ -46,24 +44,27 @@ def respond(message, history, system_message, max_new_tokens, temperature, top_p
46
 
47
  print(f"Генерируем ответ для контекста длиной {len(context)} символов")
48
 
 
49
  response = model(
50
  prompt=context,
51
  max_tokens=max_new_tokens,
52
  temperature=temperature,
53
  top_p=top_p,
54
  stop=["User:", "\n\n", "<|endoftext|>"],
55
- echo=False # Не возвращать промпт в ответе
 
56
  )
57
 
58
- generated_text = response['choices'][0]['text']
59
- print(f"Ответ сгенерирован успешно, длина: {len(generated_text)}")
60
- return generated_text.strip()
 
 
61
 
62
  except Exception as e:
63
  error_msg = f"Произошла ошибка: {str(e)}"
64
  print(error_msg)
65
- return error_msg
66
-
67
 
68
  demo = gr.ChatInterface(
69
  respond,
@@ -94,14 +95,15 @@ demo = gr.ChatInterface(
94
  label="Top-p (nucleus sampling)"
95
  ),
96
  ],
97
- title="GGUF Chat Model",
98
- description="Чат с GGUF моделью (LLight-3.2-3B-Instruct)",
99
  examples=[
100
  ["Привет! Как дела?"],
101
  ["Расскажи мне о себе"],
102
  ["Что ты умеешь делать?"]
103
  ],
104
- cache_examples=False
 
105
  )
106
 
107
  # Запускаем приложение
@@ -113,4 +115,4 @@ if __name__ == "__main__":
113
  except Exception as e:
114
  print(f"Ошибка при инициализации: {str(e)}")
115
 
116
- demo.launch()
 
1
  import gradio as gr
2
  from huggingface_hub import hf_hub_download
3
  from llama_cpp import Llama
 
4
 
 
5
  model = None
6
 
7
  def load_model():
 
20
  model = Llama(
21
  model_path=model_path,
22
  n_ctx=2048, # Размер контекста
23
+ n_threads=4, # Количество потоков
24
  n_batch=512 # Размер батча
25
  )
26
 
 
44
 
45
  print(f"Генерируем ответ для контекста длиной {len(context)} символов")
46
 
47
+ # Используем потоковый вывод
48
  response = model(
49
  prompt=context,
50
  max_tokens=max_new_tokens,
51
  temperature=temperature,
52
  top_p=top_p,
53
  stop=["User:", "\n\n", "<|endoftext|>"],
54
+ echo=False,
55
+ stream=True # Включаем потоковое отображение
56
  )
57
 
58
+ # Генерация ответа с использованием yield
59
+ generated_text = ""
60
+ for token in response:
61
+ generated_text += token["text"]
62
+ yield generated_text.strip()
63
 
64
  except Exception as e:
65
  error_msg = f"Произошла ошибка: {str(e)}"
66
  print(error_msg)
67
+ yield error_msg
 
68
 
69
  demo = gr.ChatInterface(
70
  respond,
 
95
  label="Top-p (nucleus sampling)"
96
  ),
97
  ],
98
+ title="LLight Chat Model",
99
+ description="Чат с LLight-3.2-3B-Instruct",
100
  examples=[
101
  ["Привет! Как дела?"],
102
  ["Расскажи мне о себе"],
103
  ["Что ты умеешь делать?"]
104
  ],
105
+ cache_examples=False,
106
+ streaming=True # Включаем потоковый вывод в интерфейсе Gradio
107
  )
108
 
109
  # Запускаем приложение
 
115
  except Exception as e:
116
  print(f"Ошибка при инициализации: {str(e)}")
117
 
118
+ demo.launch()