Artem733733 commited on
Commit
294b7e5
·
verified ·
1 Parent(s): f270e7d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -33
app.py CHANGED
@@ -25,9 +25,7 @@ from sentence_transformers.util import cos_sim
25
  import llama_cpp
26
  from llama_cpp import Llama
27
 
28
-
29
-
30
- SYSTEM_PROMPT = "Ты — русскоязычный автоматический ассистент. Ты разговариваешь с людьми и помогаешь им."
31
 
32
  LOADER_MAPPING = {
33
  ".csv": (CSVLoader, {}),
@@ -46,37 +44,14 @@ LOADER_MAPPING = {
46
 
47
 
48
  def load_model(
49
- directory: str = ".",
50
- model_name: str = "Mistral-Nemo-Instruct-2407-Q4_K_M.gguf",
51
- model_url: str = "https://huggingface.co/second-state/Mistral-Nemo-Instruct-2407-GGUF/resolve/main/Mistral-Nemo-Instruct-2407-Q4_K_M.gguf"
52
  ):
53
- # final_model_path = os.path.join(directory, model_name)
54
-
55
- # print("Downloading all files...")
56
- # if not os.path.exists(final_model_path):
57
- # with open(final_model_path, "wb") as f:
58
- # http_get(model_url, f)
59
- # os.chmod(final_model_path, 0o777)
60
- # print("Files downloaded!")
61
-
62
  model = Llama(model_path = "1.gguf", n_ctx = 3096, n_gpu_layers=-1, n_batch = 512, verbose=False)
63
- #model = Llama(
64
- # model_path="1.gguf",
65
- # n_ctx=2000,
66
- # n_parts=1,
67
- #)
68
 
69
  print("Model loaded!")
70
  return model
71
 
72
 
73
- #EMBEDDER = SentenceTransformer("sentence-transformers/paraphrase-multilingual-mpnet-base-v2")
74
- #Alibaba-NLP/gte-multilingual-base
75
- #Лидерборд по эмбеддингам
76
- #intfloat/e5-mistral-7b-instruct-лучшая для русского языка
77
- #deepvk/USER-bge-m3 - немного отстает по качеству, но в 10 раз меньше и быстрее
78
- #BAAI/bge-multilingual-gemma2
79
- #EMBEDDER = SentenceTransformer("intfloat/multilingual-e5-large-instruct")
80
  EMBEDDER = SentenceTransformer("deepvk/USER-bge-m3")
81
  MODEL = load_model()
82
 
@@ -208,9 +183,7 @@ with gr.Blocks(
208
  ) as demo:
209
  db = gr.State(None)
210
  conversation_id = gr.State(get_uuid)
211
- #favicon = '<img src="https://cdn.midjourney.com/b88e5beb-6324-4820-8504-a1a37a9ba36d/0_1.png" width="48px" style="display: inline">'
212
  gr.Markdown(
213
- #f"""<h1><center>{favicon}Saiga 13B llama.cpp: retrieval QA</center></h1>
214
  f"""<h1><center>Вопросно-ответная система по Вашим документам. Работает на CPU.\n
215
  На демо-стенде реализован простейший алгоритм поиска информации.\n
216
  При внедрении в IT-контуре компании, качество поиска выше в разы.\n
@@ -230,7 +203,7 @@ with gr.Blocks(
230
  chunk_size = gr.Slider(
231
  minimum=50,
232
  maximum=2000,
233
- value=250,
234
  step=50,
235
  interactive=True,
236
  label="Размер фрагментов",
@@ -238,7 +211,7 @@ with gr.Blocks(
238
  chunk_overlap = gr.Slider(
239
  minimum=0,
240
  maximum=500,
241
- value=30,
242
  step=10,
243
  interactive=True,
244
  label="Пересечение"
@@ -249,7 +222,7 @@ with gr.Blocks(
249
  k_documents = gr.Slider(
250
  minimum=1,
251
  maximum=10,
252
- value=2,
253
  step=1,
254
  interactive=True,
255
  label="Кол-во фрагментов для контекста"
@@ -287,7 +260,7 @@ with gr.Blocks(
287
  temp = gr.Slider(
288
  minimum=0.0,
289
  maximum=2.0,
290
- value=0.1,
291
  step=0.1,
292
  interactive=True,
293
  label="Temp"
 
25
  import llama_cpp
26
  from llama_cpp import Llama
27
 
28
+ SYSTEM_PROMPT = "Ты — русскоязычный автоматический ассистент. Тебя зовут Digital Human Chat. Ты разговариваешь с людьми и помогаешь им. Если ты не знаешь ответа, то скажи, что не знаешь, не придумывай ответ. Используй максимум три предложения и будь кратким."
 
 
29
 
30
  LOADER_MAPPING = {
31
  ".csv": (CSVLoader, {}),
 
44
 
45
 
46
  def load_model(
47
+ directory: str = "."
 
 
48
  ):
 
 
 
 
 
 
 
 
 
49
  model = Llama(model_path = "1.gguf", n_ctx = 3096, n_gpu_layers=-1, n_batch = 512, verbose=False)
 
 
 
 
 
50
 
51
  print("Model loaded!")
52
  return model
53
 
54
 
 
 
 
 
 
 
 
55
  EMBEDDER = SentenceTransformer("deepvk/USER-bge-m3")
56
  MODEL = load_model()
57
 
 
183
  ) as demo:
184
  db = gr.State(None)
185
  conversation_id = gr.State(get_uuid)
 
186
  gr.Markdown(
 
187
  f"""<h1><center>Вопросно-ответная система по Вашим документам. Работает на CPU.\n
188
  На демо-стенде реализован простейший алгоритм поиска информации.\n
189
  При внедрении в IT-контуре компании, качество поиска выше в разы.\n
 
203
  chunk_size = gr.Slider(
204
  minimum=50,
205
  maximum=2000,
206
+ value=256,
207
  step=50,
208
  interactive=True,
209
  label="Размер фрагментов",
 
211
  chunk_overlap = gr.Slider(
212
  minimum=0,
213
  maximum=500,
214
+ value=32,
215
  step=10,
216
  interactive=True,
217
  label="Пересечение"
 
222
  k_documents = gr.Slider(
223
  minimum=1,
224
  maximum=10,
225
+ value=4,
226
  step=1,
227
  interactive=True,
228
  label="Кол-во фрагментов для контекста"
 
260
  temp = gr.Slider(
261
  minimum=0.0,
262
  maximum=2.0,
263
+ value=0.01,
264
  step=0.1,
265
  interactive=True,
266
  label="Temp"