Spaces:
Runtime error
Runtime error
Update app.py
Browse files
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 |
|