ekaterina-simonova commited on
Commit
75cfe15
·
verified ·
1 Parent(s): 4dcd9fb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -15
app.py CHANGED
@@ -603,16 +603,37 @@ def generate_gpt_response(question, context_chunks):
603
  for i, chunk in enumerate(context_chunks)])
604
 
605
  prompt = f"""
606
- Ты - ассистент, который помогает находить ответы на вопросы в технической документации.
607
- Пользователь задал следующий вопрос: "{question}"
608
 
609
- Ниже приведены релевантные фрагменты из документов, которые могут содержать ответ:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
610
  {context}
611
-
612
- Сформулируй четкий и структурированный ответ на вопрос пользователя, используя информацию из приведенных фрагментов.
613
- Если в фрагментах нет точного ответа, так и скажи.
614
- Не указывай источники в конце ответа, они будут добавлены автоматически.
615
-
616
  Ответ:
617
  """
618
 
@@ -824,13 +845,7 @@ with st.sidebar.expander("Инструкция", expanded=False):
824
  ### Как использовать:
825
  1. Введите ваш вопрос в текстовое поле
826
  2. Нажмите кнопку "Найти ответ"
827
- 3. Просмотрите найденные релевантные фрагменты документов
828
-
829
- ### Особенности поиска:
830
- - Сначала ищется точный ответ в таблице вопросов
831
- - Затем применяется гибридный поиск (семантический + BM25)
832
- - В конце - традиционный текстовый поиск
833
- - Теперь система также генерирует ответ с помощью ИИ на ос��ове найденных фрагментов
834
  """)
835
  st.title("🔍 Поиск в технической документации")
836
 
 
603
  for i, chunk in enumerate(context_chunks)])
604
 
605
  prompt = f"""
606
+ Ты - ассистент-эксперт по неразрушающему контролю, который помогает находить ответы на вопросы в технической документации.
 
607
 
608
+ ВАЖНО: Следуй этому алгоритму при обработке вопроса:
609
+
610
+ 1. Сначала проанализируй понятность и полноту вопроса:
611
+ - Если вопрос слишком короткий, неясный или содержит сокращения без контекста, попроси уточнения
612
+ - Если используются аббревиатуры, предложи их возможную расшифровку и попроси подтверждения
613
+ - При неполном вопросе укажи, какой информации не хватает для полного ответа
614
+
615
+ 2. Затем определи тематику:
616
+ - Отвечай ТОЛЬКО на вопросы по неразрушающему контролю и связанным темам (метрология, измерения,
617
+ контроль качества, техническая диагностика, стандарты и нормативные документы в этой области)
618
+ - На вопросы из других областей отвечай: "Я могу отвечать только на вопросы по неразрушающему контролю."
619
+
620
+ 3. Если вопрос понятен и относится к нужной тематике:
621
+ - Используй предоставленные фрагменты документов для формирования ответа
622
+ - Давай структурированный и четкий ответ
623
+ - Если информации в документах недостаточно, так и укажи
624
+
625
+ Пользователь задал вопрос: "{question}"
626
+
627
+ Примеры ответов при неясном вопросе:
628
+ - "Ваш вопрос требует уточнения. Пожалуйста, укажите [какую именно информацию вы хотите получить]"
629
+ - "Вы использовали аббревиатуру [XXX]. Правильно ли я понимаю, что речь идет о [расшифровка]? Пожалуйста, уточните."
630
+ - "Для полного ответа не хватает следующей информации: [список необходимых уточнений]"
631
+
632
+ Ниже приведены релевантные фрагменты из документов:
633
  {context}
634
+
635
+ Сформулируй ответ согласно инструкциям выше. Не указывай источники в конце ответа, они будут добавлены автоматически.
636
+
 
 
637
  Ответ:
638
  """
639
 
 
845
  ### Как использовать:
846
  1. Введите ваш вопрос в текстовое поле
847
  2. Нажмите кнопку "Найти ответ"
848
+ 3. Просмотрите найденные ответы.
 
 
 
 
 
 
849
  """)
850
  st.title("🔍 Поиск в технической документации")
851