dorogan commited on
Commit
463d6b1
1 Parent(s): 069179d

Fixes: new teaser rebuilding prompt was added

Browse files
Files changed (1) hide show
  1. semantic_search.py +11 -9
semantic_search.py CHANGED
@@ -36,7 +36,7 @@ data_path_consult = os.environ.get("DATA_PATH_CONSULT",
36
 
37
  # Отбор типов документов. В списке указать те, которые нужно оставить в БД.
38
  # $ export DB_DATA_TYPES='["НКРФ", "ГКРФ", "ТКРФ"]'
39
- teaser_pattern = r"Новый отрывок:"
40
  db_data_types = os.environ.get("DB_DATA_TYPES", [
41
  'НКРФ',
42
  'ГКРФ',
@@ -56,13 +56,15 @@ device = os.environ.get("MODEL_DEVICE", 'cuda' if torch.cuda.is_available() else
56
  hf_token = os.environ.get("HF_TOKEN", "")
57
  hf_model_name = os.environ.get("HF_MODEL_NAME", "")
58
 
59
- default_teaser_refactoring_prompt = (f"Ты профессиональный налоговый консультант. У тебя есть вопрос и отрывок документа. "
60
- f"Тебе нужно переделать этот отрывок так, чтобы в нём содержался ответ на вопрос "
61
- f"и по возможности было название документа, "
62
- f"а также описывался конкретный кейс, если он был в отрывке. "
63
- f"Ты больше ничего не пишешь, не рассуждаешь. "
64
- f"Дай ответ в формате: 'Новый отрывок: *новый отрывок*'. "
65
- f"Отвечай только на РУССКОМ языке.")
 
 
66
 
67
 
68
  class SemanticSearch:
@@ -208,5 +210,5 @@ class SemanticSearch:
208
  if use_llm_for_teasers:
209
  most_relevant_teaser = self.rebuild_teaser_with_llm(question=query,
210
  teaser=most_relevant_teaser)
211
- docs.append(most_relevant_teaser + '\n' + f'Весь текст документа:\n{doc_text}')
212
  return preds[:top], docs[:top], scores[:top]
 
36
 
37
  # Отбор типов документов. В списке указать те, которые нужно оставить в БД.
38
  # $ export DB_DATA_TYPES='["НКРФ", "ГКРФ", "ТКРФ"]'
39
+ teaser_pattern = r"Переделанный отрывок:"
40
  db_data_types = os.environ.get("DB_DATA_TYPES", [
41
  'НКРФ',
42
  'ГКРФ',
 
56
  hf_token = os.environ.get("HF_TOKEN", "")
57
  hf_model_name = os.environ.get("HF_MODEL_NAME", "")
58
 
59
+ default_teaser_refactoring_prompt = (
60
+ f"Ты профессиональный налоговый консультант. У тебя есть вопрос и отрывок документа. "
61
+ f"Тебе нужно переделать этот отрывок так, чтобы в нём содержался ответ на вопрос, но в общих чертах и без конкретики, "
62
+ f"а также упоминалась конкретная ситуация, если она была в отрывке. "
63
+ f"В результате ты должен получить короткий отрывок, в котором есть только самая важная информация из исходного отрывка, а также названия документов из исходного отрывка. Тебе запрещается как-либо искажать исходную информацию. "
64
+ f"Используй такой формат ответа: 'Переделанный отрывок: *переделанный отрывок*'. "
65
+ f"Переделанный отрывок должен быть объёмом не более 50 слов. "
66
+ f"Ты больше ничего не пишешь, не рассуждаешь. "
67
+ f"Отвечай обязательно только на РУССКОМ языке!!!.")
68
 
69
 
70
  class SemanticSearch:
 
210
  if use_llm_for_teasers:
211
  most_relevant_teaser = self.rebuild_teaser_with_llm(question=query,
212
  teaser=most_relevant_teaser)
213
+ docs.append(most_relevant_teaser + '\n\n' + f'Полный текст документа:\n{doc_text}')
214
  return preds[:top], docs[:top], scores[:top]