-
Notifications
You must be signed in to change notification settings - Fork 5
FAQ
Управление базой типичных вопросов для мгновенных ответов без обращения к LLM.
Workspace-фильтрация: FAQ записи фильтруются по
workspace_idиз JWT. Redis-кеш FAQ используется только при отсутствии workspace-фильтра. Системные вызовы (LLM FAQ reload, startup) загружают глобальный словарь без фильтрации.
FAQ обеспечивает мгновенные ответы на частые вопросы:
- Пользователь задаёт вопрос (из чата, бота, виджета)
- Система ищет совпадение в FAQ базе
- Найдено → мгновенный ответ (0 мс, без LLM)
- Не найдено → запрос к LLM (+ Wiki RAG контекст, если настроен)
Это экономит токены/ресурсы и даёт предсказуемые ответы на типовые вопросы.
Все записи отображаются в таблице:
| Колонка | Описание |
|---|---|
| Вопрос (trigger) | Паттерн или точный текст |
| Ответ | Предопределённый ответ |
| Приоритет | Порядок проверки (выше число = проверяется раньше) |
| Активен | Включена ли запись |
| Действия | Редактировать / Удалить |
Как связаться с поддержкой?
Срабатывает только на точный текст.
*поддержка*
*контакт*связаться*
Символ * заменяет любое количество символов.
/^(как|где) (связаться|найти)/i
Полная поддержка regex с флагами. Синтаксис: /pattern/flags.
- Нажмите "Добавить FAQ"
- Введите trigger (паттерн вопроса)
- Введите ответ (поддерживается Markdown)
- Установите приоритет (100 по умолчанию)
- Сохраните
Клик на иконку редактирования → модальное окно → сохранить.
Клик на иконку корзины → подтверждение.
Секция "Тест FAQ" позволяет проверить работу:
- Введите тестовый вопрос
- Нажмите "Тест"
- Результат:
- Найдено — trigger, ответ, время поиска
- Не найдено — "FAQ match not found"
API: POST /admin/faq/test с телом {"question": "текст вопроса"}
Кнопка "Экспорт" скачивает все FAQ в JSON.
- Нажмите "Импорт"
- Выберите JSON файл
- Подтвердите
[
{
"trigger": "Как связаться с поддержкой?",
"response": "Напишите на support@example.com",
"priority": 100,
"enabled": true
}
]Кнопка "Перезагрузить" (POST /admin/faq/reload) обновляет FAQ в памяти из БД без перезапуска.
FAQ проверяется до Wiki RAG. Приоритет ответов:
- FAQ (точное/wildcard/regex совпадение) → мгновенный ответ
- Wiki RAG (семантический поиск по wiki-pages/) → контекст для LLM
- LLM без дополнительного контекста
| Endpoint | Описание |
|---|---|
GET /admin/faq |
Список всех FAQ |
POST /admin/faq |
Добавить запись |
PUT /admin/faq/{trigger} |
Обновить запись |
DELETE /admin/faq/{trigger} |
Удалить запись |
POST /admin/faq/reload |
Горячая перезагрузка |
POST /admin/faq/test |
Тестировать совпадение |
GET /admin/faq/export |
Экспорт в JSON |