ИИ-ассистент поиска по wiki, инструкция: различия между версиями

Материал из OrticonWiki
Перейти к навигации Перейти к поиску
В начале статьи добавлен URL сервиса (http://192.168.33.12:7050)
Нет описания правки
 
(не показаны 2 промежуточные версии 2 участников)
Строка 2: Строка 2:


В интерфейсе три вкладки:
В интерфейсе три вкладки:
* '''Поиск''' — находит фрагменты статей в базе знаний;
* '''Поиск''' — находит фрагменты статей и файлов в базе знаний;
* '''Чат''' — ИИ-ассистент, который задаёт вопрос и отвечает со ссылками на источники;
* '''Чат''' — ИИ-ассистент (ИИ-агент): сам ищет нужные страницы в базе знаний, читает их и отвечает со ссылками на источники;
* '''Индексация''' — для администратора (описана в свёрнутом разделе в конце статьи).
* '''Индексация''' — для администратора (описана в свёрнутом разделе в конце статьи).


== Вкладка «Поиск» ==
== Вкладка «Поиск» ==
Введите запрос в поле и нажмите «Найти» (или Enter). Сервис вернёт до 10 самых релевантных фрагментов: название статьи (по клику открывается в вики), название раздела и отрывок текста.
Введите запрос в поле и нажмите «Найти» (или Enter). Сервис вернёт до 10 самых релевантных фрагментов: название статьи (по клику открывается в вики), название раздела и отрывок текста. Сокращения в запросе расшифровываются автоматически (например, ДДС — «отчёт о движении денежных средств»), из файлов фрагменты отмечены названием: «Файл: НАПФ.pdf (страница 3)».


'''Реранкинг''' — вторичная оценка релевантности: специальная модель «перечитывает» запрос вместе с каждым найденным фрагментом и переставляет результаты так, чтобы сверху оказались не просто похожие по словам, а те, что действительно отвечают на вопрос. Рядом с каждым результатом указана оценка модели (реранк) — чем выше, тем точнее попадание.
'''Реранкинг''' — вторичная оценка релевантности: специальная модель «перечитывает» запрос вместе с каждым найденным фрагментом и переставляет результаты так, чтобы сверху оказались не просто похожие по словам, а те, что действительно отвечают на вопрос. Рядом с каждым результатом указана оценка модели (реранк) — чем выше, тем точнее попадание.
Строка 17: Строка 17:
Пара советов:
Пара советов:
* Задавайте запрос коротко и по ключевым словам: название документа, форма отчёта, название продукта.
* Задавайте запрос коротко и по ключевым словам: название документа, форма отчёта, название продукта.
* Если ничего не нашлось — переформулируйте запрос (другое слово от того же термина) или задайте вопрос во вкладке «Чат»: ассистент поиск расширит.
* Если ничего не нашлось — переформулируйте запрос (другое слово от того же термина) или задайте вопрос во вкладке «Чат»: ассистент сам расширит поиск несколькими формулировками.


== ИИ-ассистент (вкладка «Чат») ==
== ИИ-ассистент (вкладка «Чат») ==
Ассистент отвечает на вопросы по бухгалтерскому и налоговому учёту, опираясь на базу знаний. Как это работает:
Ассистент отвечает на вопросы по бухгалтерскому и налоговому учёту, опираясь на базу знаний. Он работает как '''ИИ-агент''' — ищет в базе знаний сам и отвечает только по найденному:
* Вы задаёте вопрос — ассистент находит связанные статьи и файлы и готовит краткий, структурированный ответ.
* Вы задаёте вопрос — ассистент находит связанные страницы (семантический поиск с моделью релевантности), при необходимости смотрит заголовки статей, затем читает найденные страницы (из файлов — наиболее релевантные секции) и готовит краткий, структурированный ответ.
* Ответ содержит ссылки на источники: нумерованные цитаты (1), (2) и список «Источники» под ответом. Кликабельны — ведут на статью в вики.
* Пока вопрос обрабатывается, в окне чата видно, что делает ассистент: «Поиск: …», «Смотрю индекс статей: …», «Читаю страницу: …».
* Если в вопросе есть сокращения (ДДС, ОПС, НПФ и т.п.), ассистент расшифрует их сам.
* Ответ содержит ссылки на источники: нумерованные цитаты (1), (2) и список «Источники» под ответом. Кликабельны — ведут на статью в вики (файлы — по имени файла).
* Ассистент отвечает '''только по базе знаний''': если информации в ней нет, он об этом честно говорит, не выдумывает цифры и реквизиты.
* Ассистент отвечает '''только по базе знаний''': если информации в ней нет, он об этом честно говорит, не выдумывает цифры и реквизиты.
* Диалог можно продолжать — уточняющие вопросы учитываются в контексте. Кнопка «Новый чат» начинает тему с чистого листа.
* Диалог можно продолжать — уточняющие вопросы учитываются в контексте. Кнопка «Новый чат» начинает тему с чистого листа.
* Если вопрос о конкретном продукте (ЕПС, УИК, УНПФ, Лизинг, XBRL и др.), назовите его — ассистент сузит поиск по нужным статьям.
* Предыдущие чаты из вашего браузера сохраняются в списке над чатом — можно вернуться к любому и продолжить.
* Если вопрос о конкретном продукте (ЕПС, УИК, УНПФ, УСК, Лизинг, НУЕПС, ФВ, УМФО, XBRL и др.), назовите его — ассистент посмотрит статьи нужного продукта.


=== Хороший ответ — пример ===
=== Хороший ответ — пример ===
[[File:ui_chat_good.png|thumb|up to 560px|Вопрос «что такое Годные остатки?» — определение и пошаговый порядок отражения в учёте]]
[[File:ui_chat_good.png|thumb|up to 560px|Вопрос «что такое Годные остатки?» — определение и пошаговый порядок отражения в учёте]]


Ответ хороший, потому что в базе знаний есть подробная статья «Годные остатки»: ассистент дал определение и по шагам описал, как отразить операцию в учёте, а в конце сослался на источник. Такой ответ — ориентир: конкретный, по существу, с ссылкой, по которой можно проверить.
Ответ хороший, потому что в базе знаний есть подробная статья «Годные остатки»: ассистент нашёл её, дал определение, по шагам описал, как отразить операцию в учёте, и сослался на источник. Такой ответ — ориентир: конкретный, по существу, с ссылкой, по которой можно проверить.


=== Когда ответ «так себе» — и почему это нормально ===
=== Когда ответ «так себе» — и почему это нормально ===
Строка 39: Строка 42:
Как получить полнее ответ:
Как получить полнее ответ:
* Спрашивайте конкретно: не «расскажи про систему», а «Как закрыть договор ОПС?», «Как начисляются остатки по расторгнутым договорам?».
* Спрашивайте конкретно: не «расскажи про систему», а «Как закрыть договор ОПС?», «Как начисляются остатки по расторгнутым договорам?».
* Уточняйте: продолжайте диалог уточняющими вопросами.
* Уточняйте: продолжайте диалог уточняющими вопросами — ассистент помнит контекст.
* Если ответ «в базе знаний не нашлось» — тему можно донести до владельца базы знаний: статья ещё не написана.
* Если ответ «в базе знаний не нашлось» — тему можно донести до владельца базы знаний: статья ещё не написана.


Строка 67: Строка 70:
|}
|}


Под кнопками — статус прогона (обновляется автоматически): текущая фаза, счётчики (страниц всего / новых / изменённых / удалённых, чанков записано, файлов), обрабатываемая статья и журнальная строка с последней учтённой страницей.
Под кнопками — статус прогона (обновляется автоматически): фаза (ожидал / идёт), время старта и конца, счётчики (страниц: всего / новых / изменённых / удалённых, чанков записано, файлов), обрабатываемая статья, журнал последних страниц (20 строк) и, при незавершённом прогоне — поле «Ошибка».


Когда именно нужен полный реиндекс:
Когда именно нужен полный реиндекс:
* после изменения правил очистки/нарезки текста (модули cleaner.py, chunker.py) — меняется идентификатор точек;
* после изменения правил очистки/нарезки текста (модули cleaner.py, chunker.py) — меняется идентификатор точек;
* после смены эмбеддинговой или реранк-модели;
* после смены эмбеддинговой или реранк-модели;
* если «Полный реиндекс» завершился с ошибкой — смотреть поле «Ошибка» в статусе.
* после инкрементального прогона, который завершился с ошибкой, — сначала смотреть поле «Ошибка» в статусе, затем повторить.


Состояние индекса хранится в служебных файлах (index_state.json — версии статей, file_index_state.json — хеши файлов), история диалогов — в chat_history.json. Хранятся рядом с сервером.
Состояние индекса хранится в служебных файлах (index_state.json — версии статей, file_index_state.json — хеши файлов), история диалогов — в chat_history.json. Хранятся рядом с сервером.
Строка 87: Строка 90:
| Реранкер не работает (нет GPU/CUDA) — поиск деградирует до векторного сходства, остаётся корректным.
| Реранкер не работает (нет GPU/CUDA) — поиск деградирует до векторного сходства, остаётся корректным.
|-
|-
| Ответ LLM не приходит / долгий таймаут
| Ответ LLM не приходит / долгий таймаут / ошибка в окне чата
| Доступность LLM-сервера и модель в config.json (секция llm).
| Доступность LLM-сервера и модель в config.json (секция llm): и поиск, и ответ чата идут через него.
|-
|-
| Ошибка логина в вики при индексации
| Ошибка логина в вики при индексации
Строка 97: Строка 100:
|}
|}
</div>
</div>
[[Категория:AI]]

Текущая версия от 08:03, 24 августа 2026

Сервис «RAG · Orticon Wiki» — помощник по внутренней базе знаний: ищет в статьях и файлах (PDF, XLSX, DOCX) нужные фрагменты и отвечает на вопросы по учёту. Открыть можно с любого компьютера внутренней сети, регистрация не нужна.

В интерфейсе три вкладки:

  • Поиск — находит фрагменты статей и файлов в базе знаний;
  • Чат — ИИ-ассистент (ИИ-агент): сам ищет нужные страницы в базе знаний, читает их и отвечает со ссылками на источники;
  • Индексация — для администратора (описана в свёрнутом разделе в конце статьи).

Вкладка «Поиск»

Введите запрос в поле и нажмите «Найти» (или Enter). Сервис вернёт до 10 самых релевантных фрагментов: название статьи (по клику открывается в вики), название раздела и отрывок текста. Сокращения в запросе расшифровываются автоматически (например, ДДС — «отчёт о движении денежных средств»), из файлов фрагменты отмечены названием: «Файл: НАПФ.pdf (страница 3)».

Реранкинг — вторичная оценка релевантности: специальная модель «перечитывает» запрос вместе с каждым найденным фрагментом и переставляет результаты так, чтобы сверху оказались не просто похожие по словам, а те, что действительно отвечают на вопрос. Рядом с каждым результатом указана оценка модели (реранк) — чем выше, тем точнее попадание.

Поиск «Годные остатки»: сверху — статья с тем же названием, ниже — связанные темы

На примере: по запросу «Годные остатки» в первом результате — статья с тем же названием, далее — отчёты и обработки по смежным темам. Полезно смотреть не только на первый результат: соседние фрагменты часто дополняют ответ.

Пара советов:

  • Задавайте запрос коротко и по ключевым словам: название документа, форма отчёта, название продукта.
  • Если ничего не нашлось — переформулируйте запрос (другое слово от того же термина) или задайте вопрос во вкладке «Чат»: ассистент сам расширит поиск несколькими формулировками.

ИИ-ассистент (вкладка «Чат»)

Ассистент отвечает на вопросы по бухгалтерскому и налоговому учёту, опираясь на базу знаний. Он работает как ИИ-агент — ищет в базе знаний сам и отвечает только по найденному:

  • Вы задаёте вопрос — ассистент находит связанные страницы (семантический поиск с моделью релевантности), при необходимости смотрит заголовки статей, затем читает найденные страницы (из файлов — наиболее релевантные секции) и готовит краткий, структурированный ответ.
  • Пока вопрос обрабатывается, в окне чата видно, что делает ассистент: «Поиск: …», «Смотрю индекс статей: …», «Читаю страницу: …».
  • Если в вопросе есть сокращения (ДДС, ОПС, НПФ и т.п.), ассистент расшифрует их сам.
  • Ответ содержит ссылки на источники: нумерованные цитаты (1), (2) и список «Источники» под ответом. Кликабельны — ведут на статью в вики (файлы — по имени файла).
  • Ассистент отвечает только по базе знаний: если информации в ней нет, он об этом честно говорит, не выдумывает цифры и реквизиты.
  • Диалог можно продолжать — уточняющие вопросы учитываются в контексте. Кнопка «Новый чат» начинает тему с чистого листа.
  • Предыдущие чаты из вашего браузера сохраняются в списке над чатом — можно вернуться к любому и продолжить.
  • Если вопрос о конкретном продукте (ЕПС, УИК, УНПФ, УСК, Лизинг, НУЕПС, ФВ, УМФО, XBRL и др.), назовите его — ассистент посмотрит статьи нужного продукта.

Хороший ответ — пример

Вопрос «что такое Годные остатки?» — определение и пошаговый порядок отражения в учёте

Ответ хороший, потому что в базе знаний есть подробная статья «Годные остатки»: ассистент нашёл её, дал определение, по шагам описал, как отразить операцию в учёте, и сослался на источник. Такой ответ — ориентир: конкретный, по существу, с ссылкой, по которой можно проверить.

Когда ответ «так себе» — и почему это нормально

Вопрос «расскажи про унпф» — ответ честный, но бедный: в базе знаний пока мало статей по теме

Здесь ассистент ответил честно, но кратко: в базе знаний по теме УНПФ пока мало содержательных статей (разделы в разработке, описания пустые). Ассистент не заполняет пробелы выдуманными фактами — это особенность, а не сбой.

Как получить полнее ответ:

  • Спрашивайте конкретно: не «расскажи про систему», а «Как закрыть договор ОПС?», «Как начисляются остатки по расторгнутым договорам?».
  • Уточняйте: продолжайте диалог уточняющими вопросами — ассистент помнит контекст.
  • Если ответ «в базе знаний не нашлось» — тему можно донести до владельца базы знаний: статья ещё не написана.

Когда ассистент не отвечает

Два случая: вопрос вне области учёта и непонятный запрос — ассистент сообщает причину и просит уточнить

Это не сбой, а штатная работа. Два случая:

  • Вопрос не про учёт (например, «купи мне авиабилет»). Ассистент вежливо сообщает, что вопрос вне его компетенции, и напоминает, по каким темам он консультирует.
  • Запрос непонятен (например, «бki» или «расскажи про версию 5»). Ассистент просит уточнить: что именно нужно сделать — провести документ, настроить отчёт, проверить проводку.

Как исправить: переформулируйте вопрос целиком, с ключевыми словами из базы знаний и названием продукта. Один вопрос — один диалог: если меняете тему нажмите «Новый чат».