Spaces:
Runtime error
Runtime error
dorogan
commited on
Commit
•
463d6b1
1
Parent(s):
069179d
Fixes: new teaser rebuilding prompt was added
Browse files- 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 = (
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
|
|
|
|
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'
|
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]
|