AugustLight commited on
Commit
1275349
·
verified ·
1 Parent(s): d4695f2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -19
app.py CHANGED
@@ -1,9 +1,9 @@
1
  import gradio as gr
2
- from ctransformers import AutoModelForCausalLM
3
- import os
4
  from huggingface_hub import hf_hub_download
 
 
5
 
6
- # Глобальная переменная для модели
7
  model = None
8
 
9
  def load_model():
@@ -20,14 +20,14 @@ def load_model():
20
 
21
  print(f"Модель загружена в: {model_path}")
22
 
23
- # Инициализируем модель
24
- model = AutoModelForCausalLM.from_pretrained(
25
- model_path,
26
- model_type="llama",
27
- context_length=2048,
28
- gpu_layers=0,
29
- threads=4
30
  )
 
31
  print("Модель успешно инициализирована!")
32
  return model
33
 
@@ -49,24 +49,26 @@ def respond(message, history, system_message, max_new_tokens, temperature, top_p
49
 
50
  print(f"Генерируем ответ для контекста длиной {len(context)} символов")
51
 
52
- # Генерируем ответ
53
  response = model(
54
- context,
55
  max_tokens=max_new_tokens,
56
  temperature=temperature,
57
  top_p=top_p,
58
- stop=["User:", "\n\n", "<|endoftext|>"]
 
59
  )
60
 
61
- print(f"Ответ сгенерирован успешно, длина: {len(response)}")
62
- return response.strip()
 
63
 
64
  except Exception as e:
65
  error_msg = f"Произошла ошибка: {str(e)}"
66
  print(error_msg)
67
  return error_msg
68
 
69
- # Создаем интерфейс
70
  demo = gr.ChatInterface(
71
  respond,
72
  additional_inputs=[
@@ -92,12 +94,12 @@ demo = gr.ChatInterface(
92
  minimum=0.1,
93
  maximum=1.0,
94
  value=0.95,
95
- step=0.05,
96
  label="Top-p (nucleus sampling)"
97
  ),
98
  ],
99
  title="GGUF Chat Model",
100
- description="Чат с GGUF моделью (Llight.Q8_0.gguf)",
101
  examples=[
102
  ["Привет! Как дела?"],
103
  ["Расскажи мне о себе"],
@@ -108,7 +110,6 @@ demo = gr.ChatInterface(
108
 
109
  # Запускаем приложение
110
  if __name__ == "__main__":
111
- # Пробуем загрузить модель при запуске
112
  try:
113
  print("Инициализация приложения...")
114
  model = load_model()
 
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():
 
20
 
21
  print(f"Модель загружена в: {model_path}")
22
 
23
+ # Инициализируем модель через llama-cpp
24
+ model = Llama(
25
+ model_path=model_path,
26
+ n_ctx=2048, # Размер контекста
27
+ n_threads=4, # Количество потоков
28
+ n_batch=512 # Размер батча
 
29
  )
30
+
31
  print("Модель успешно инициализирована!")
32
  return model
33
 
 
49
 
50
  print(f"Генерируем ответ для контекста длиной {len(context)} символов")
51
 
52
+ # Генерируем ответ используя llama-cpp
53
  response = model(
54
+ prompt=context,
55
  max_tokens=max_new_tokens,
56
  temperature=temperature,
57
  top_p=top_p,
58
+ stop=["User:", "\n\n", "<|endoftext|>"],
59
+ echo=False # Не возвращать промпт в ответе
60
  )
61
 
62
+ generated_text = response['choices'][0]['text']
63
+ print(f"Ответ сгенерирован успешно, длина: {len(generated_text)}")
64
+ return generated_text.strip()
65
 
66
  except Exception as e:
67
  error_msg = f"Произошла ошибка: {str(e)}"
68
  print(error_msg)
69
  return error_msg
70
 
71
+
72
  demo = gr.ChatInterface(
73
  respond,
74
  additional_inputs=[
 
94
  minimum=0.1,
95
  maximum=1.0,
96
  value=0.95,
97
+ step=0.05,
98
  label="Top-p (nucleus sampling)"
99
  ),
100
  ],
101
  title="GGUF Chat Model",
102
+ description="Чат с GGUF моделью (LLight-3.2-3B-Instruct)",
103
  examples=[
104
  ["Привет! Как дела?"],
105
  ["Расскажи мне о себе"],
 
110
 
111
  # Запускаем приложение
112
  if __name__ == "__main__":
 
113
  try:
114
  print("Инициализация приложения...")
115
  model = load_model()