НАЧАЛО >> Документация модуля AI >> Страницы модуля AI📄 Скачать в DOCX
Этот раздел описывает пользовательские и административные страницы модуля AI. Все страницы открываются как системные страницы ИРБИС 128 по адресу ?id=AI/<страница> и регистрируются процедурой AI/EnsurePages. В текущем безопасном срезе прямой доступ к страницам выдается группе SITESPEC/ADMIN; широкие права IP 0/1 и SITESPEC/USER для VIEW при регистрации снимаются.
На рабочих страницах есть навигационная строка по основным разделам AI: запрос, диагностика и проверка. Вопрос по полнотекстовому документу задается не на отдельной странице AI, а непосредственно в просмотрщике FT/ShowFT. Сценарий дополнения ИМИДЖ-записи библиографическими полями запускается кнопкой "AI-черновик" выбранной записи в АРМ Каталогизатор. Диагностическая страница инструмента AI/Tools отделена от рабочей навигации и открывается из карточки записи AITool в АРМ Администратор. Эксплуатационная консоль агентных сессий AI/Agent также открывается отдельно из настроек модуля AI. Диагностические страницы показывают результат операций в JSON-блоках. Эти блоки предназначены для диагностики: они помогают увидеть реальные флаги, выбранную модель, ошибки политики, audit-метаданные, id задач и служебные идентификаторы. На пользовательской странице AI/Ask показ технических деталей управляется настройкой модуля AI и по умолчанию выключен.
Секреты в профилях поставщиков, audit и диагностических отчетах должны отображаться только в замаскированном виде. Если пользователь видит в ответе ***, это нормальное поведение: реальный ключ или пароль не должен выводиться в Help, UI, export, audit или отчете внешней передачи данных.
Флаги diagnosticExecution, dryRun, allowNetwork, allowExternal, allowFallbackToExternal, allowDraftWrite, allowQueueTask и allowApply не являются обычными настройками "для удобства". Они явно переводят операцию в диагностический, сетевой, внешний, queue, draft или write-контур. Если флаг не понятен пользователю, его не следует включать без администратора.
| Страница | Назначение | Основные действия |
|---|---|---|
AI/Ask |
Текстовый runtime-запрос | Отправка prompt с настройками runtime из модуля AI |
AI/Diagnostics |
Эксплуатационная диагностика | Статус, конфигурация, allowlist, provider/model routing, audit, внешние передачи, invalidation производных данных |
AI/Tools |
Диагностический вызов allowlist-инструмента | Открывается из карточки AITool; описание выбранного инструмента, форма по inputSchema; результат AI::InvokeTool() после отправки |
AI/Reviews |
Ручная проверка AI-действий | Approve/reject/correct, dry-run и применение черновика |
AI/Agent |
Эксплуатационная консоль агентных сессий | Открывается из настроек модуля AI; создание, просмотр, dry-run шага, pause/resume/archive |
Адрес: ?id=AI/Ask.
Страница предназначена для прямого текстового запроса к AI runtime. Пользователь вводит только Prompt. Политика маршрутизации, System, диагностический режим, dry-run, разрешение внешних моделей, fallback во внешние модели, сетевой вызов и показ технических деталей берутся из группы настроек модуля AI "Страница AI/Ask" в АРМ Администратор.
Форма содержит:
После отправки страница вызывает AI::Ask(). Ответ модели выводится как читаемый текст. Полный JSON показывается в блоке "Технические детали" только при включенной настройке "Показывать технические детали" в модуле AI; по умолчанию пользователь видит только ответ модели или понятное сообщение об ошибке. Перед обращением к provider выполняются проверка доступа к модулю AI, выключатели, классификация данных, политика внешней передачи, лимиты, маршрутизация модели и защита от prompt injection.
Для закрытого контура задайте в настройках страницы AI/Ask политику offline_only и не включайте внешние флаги. Для проверки локального OpenAI-compatible endpoint настройка "Сетевой вызов по умолчанию" должна быть включена.
Пользователь открывает полный текст обычным способом через ?id=FT/ShowFT&sid=<sid>. Если модуль AI установлен, включен и доступен пользователю, в просмотрщике появляется кнопка "Спросить AI". Она открывает боковую панель с единственным пользовательским полем — вопросом по текущему документу. SID берется из открытой FT-записи автоматически; policy, provider/model, diagnostic, dry-run и network-флаги в пользовательском интерфейсе не показываются и читаются на сервере из настроек AI.
Виджет вызывает action AI/AskDocument в viewer-режиме, а тот передает запрос в AI::AskDocument(). Метод читает документ только через allowlist-инструмент ft.getText, поэтому сохраняются проверка прав на модуль AI, модуль FT и конкретную FT-запись, политика инструмента и audit. Текст FT-документа считается недоверенным: инструкции внутри документа не меняют системные правила и не могут заставить AI вызвать инструмент.
Ответ показывает текст и источники. Для постраничного документа источник с координатами открывает FT/ShowFT с параметрами page и squery; без координат ссылка ведет на сам документ. Если FT/idx.txt отсутствует, виджет сначала сообщает, что текст не подготовлен, и показывает отдельную кнопку "Подготовить текст". Только это подтвержденное действие повторяет запрос с allowQueueTask=true и ставит ft.prepareDocument в очередь.
Через API AI::AskDocument() по-прежнему доступны расширенные параметры, включая выбор контекста через подготовленный RAG-индекс по ragIndexId. Они предназначены для сценариев и диагностических вызовов, а не для пользовательского виджета FT.
Адрес: ?id=AI/Diagnostics.
Страница объединяет эксплуатационные проверки:
AI::GetLimitPolicy();AI::GetToolDefinitions();AI::TestProvider($providerId, false);AI::ResolveModel();Форма "Инвалидирование производных данных" принимает тип источника help, ft или record. Для help используется path, для ft - SID, для record - DBN и MFN. После отправки вызывается AI::InvalidateDerivedData($source). Операция помечает связанные embedding chunks как stale, инвалидирует память и возвращает rebuild-policy. При изменении прав источника регламентный вызов должен использовать причину rightsChanged; UI-форма задает источник, а подробная причина может передаваться через API.
Audit и отчет внешней передачи доступны только пользователям с административным доступом. Детали событий маскируются, чтобы не раскрывать API-ключи, токены, пароли и другие секреты.
Адрес: ?id=AI/Tools&toolId=<toolId>.
Страница служит для диагностического запуска одного allowlist-инструмента. Обычно она открывается из записи AITool в АРМ Администратор кнопкой "Диагностический запуск"; кнопка передает идентификатор инструмента в параметре toolId. Прямой переход без параметра больше не показывает список выбора: страница просит открыть диагностику из карточки конкретного инструмента.
Верхний блок показывает краткое описание для администратора: название, идентификатор и назначение инструмента. Режим работы, побочные эффекты, политика подтверждения, необходимые права, лимиты, входные параметры и ожидаемый результат выводятся в свернутом блоке "Данные об инструменте". Полный технический массив инструмента выводится ниже в свернутом блоке "Техническое описание".
Форма строится по inputSchema выбранного инструмента:
array и object вводятся как небольшие JSON-фрагменты только для конкретного поля;requiredInput.После отправки страница собирает входной массив, приводит значения к типам схемы и вызывает AI::InvokeTool($toolId, $input, $options). Результат работы инструмента выводится JSON-блоком в раскрытом по умолчанию спойлере "Результат выполнения". Если значение поля array или object заполнено некорректным JSON, страница возвращает ошибку AI_UI_INPUT_INVALID с перечнем полей.
Флаг diagnosticExecution включает фактическое диагностическое выполнение; без него отправляется dryRun=true. Для инструментов чтения этот флаг включен по умолчанию, для инструментов с побочными эффектами администратор должен включить его явно. Флаги allowDraftWrite и allowQueueTask по-прежнему нужны для операций, которые создают AI-черновик или ставят задачу в Queue.
Нельзя использовать страницу как обход прав. Каждый инструмент проходит общий pipeline: schema gate, проверка прав, политика, audit, исполнение и нормализация resultMeta. Write-инструменты не должны напрямую изменять целевую БД.
Адрес: ?id=AI/Reviews.
Страница предназначена для ручной проверки AI-действий. Для нее используется полноэкранный рабочий интерфейс: слева находится очередь review-задач, справа - выбранная задача с данными черновика, комментарием и кнопками решения. Если reviewId не передан, страница автоматически открывает первую задачу из списка.
Левая очередь фильтруется по состоянию проверки. По умолчанию выбран фильтр "Без решения" (pending), поэтому пользователь видит только review-задачи, по которым еще не принято решение. Также доступны фильтры для утвержденных, отклоненных, отправленных на исправление и всех задач.
Правая область показывает цель, риск, target, idempotency key, связанный AI-черновик, источники, diff и текущее решение. Форма решения или применения черновика выводится в верхней части карточки, чтобы проверяющий не прокручивал технические блоки перед принятием решения.
Полный JSON review-задачи и черновика остается доступен в технических спойлерах. Основной экран не требует читать JSON для штатной проверки.
Для задачи в статусе pending доступна форма решения:
approve - утвердить действие;reject - отклонить действие;correct - отметить необходимость коррекции;comment - комментарий пользователя.Форма применения черновика появляется только для approved review с targetType=draft. По умолчанию включен режим "Проверить без записи в БД": он передает dryRun=true и проходит проверки без записи в целевую БД. Фактическое применение требует снять dry-run и явно разрешить запись. При применении вызывается AI::ApplyDraft(): проверяются владелец черновика, approved review, совпадение target, idempotency key, право EDIT на целевую БД, затем запись сохраняется штатным SaveAndUpdateRecord.
Для ИМИДЖ-сценария черновик не создает новую запись и не переносит данные в другую БД. Он содержит полное предлагаемое состояние исходной записи и дополняет только отсутствующие библиографические поля в той же БД и с тем же MFN. В карточке проверки рядом показываются изображения лицевой и оборотной стороны, исходный распознанный текст, отдельная реконструкция для AI-разбора, добавляемые поля, источник evidence, сохраненные существующие значения и возможные дубли. Реконструкция не записывается в поле 22. Перед фактическим применением дополнительно проверяется версия исходной записи; если другой пользователь успел ее изменить, черновик блокируется и должен быть сформирован заново.
Отдельный нижний список всех AI-черновиков на странице не выводится: он мешал рабочему сценарию проверки. Черновик открывается в контексте выбранной review-задачи. Черновик со статусом applied повторно применяется только идемпотентно с тем же ключом; повтор с другим ключом должен блокироваться.
Адрес: ?id=AI/Agent.
Страница управляет агентными сессиями и не входит в общую навигацию рабочих AI-страниц. Штатный вход для администратора - кнопка "Консоль агентных сессий AI" в настройках модуля AI в АРМ Администратор. Блок "Новая сессия" принимает:
scenario - идентификатор сценария, например manual или imageCatalog.toBibDraft;goal - цель сессии.После создания вызывается AI::CreateAgentSession(). В блоке "Сессии" выводятся статус, сценарий, выбранная модель, время обновления и ссылка на открытие сессии. Для открытой сессии показывается полный JSON сессии, шагов и памяти.
Доступные действия открытой сессии:
AI::ExecuteAgentStep(), по умолчанию с dryRun;Если шаг создает review-задачу, агент должен остановиться в состоянии ожидания подтверждения. Применение результата выполняется не на странице агента, а через AI/Reviews.
Пользователь выбирает запись в БД, разрешенной профилем imageCatalog.default, и нажимает подписанную кнопку "AI-черновик" в начале панели действий списка. DBN и MFN берутся из текущей записи автоматически; техническая страница AI/ImageCatalog больше не используется.
Действие немедленно ставит подписанную задачу AI/CreateImageCatalogDraftQueue в Queue и открывает штатный монитор. Worker вызывает инструмент imageCatalog.toBibDraft с autoCreateReview=true, reviewOnIssuesOnly=false и allowDraftWrite=true; в прогрессе отдельно отображаются сбор кандидатов, контролируемая реконструкция OCR, classification, extraction, verifier, evidence mapping, поиск дублей, draft и review. Инструмент собирает 22, координатный 953 и принятые OCR-артефакты, восстанавливает читаемую структуру без изменения исходных полей, определяет рабочий лист, извлекает библиографические элементы локальной JSON-моделью и независимыми правилами и подтверждает значения конкретными исходными OCR-кандидатами. Цель черновика всегда совпадает с источником: та же БД и тот же MFN. Существующие поля изображения и уже заполненные библиографические значения сохраняются.
После завершения Queue короткий AI/OpenImageCatalogDraft под текущей сессией проверяет владельца и открывает модальное ExtJS-окно именно текущей операции. Оно показывает DBN/MFN, определенный тип и его основание, базовую версию записи, этапы pipeline, использованную модель или fallback, результат реконструкции, confidence/evidence, идентификатор OCR-кандидата, OCR-зону и строки каждого поля, обе стороны карточки, исходный и восстановленный тексты, предупреждения и возможные дубли. Кнопка "Исправить поля" открывает редактируемую таблицу уже предложенных значений; при approval исправления применяются к draft и сохраняются вместе с исходным предложением. Кнопка "Утвердить и записать" одним явно подтвержденным действием утверждает review и вызывает ApplyDraft с записью в ту же запись; кнопка "Отклонить" оставляет запись без изменений. Повторный запуск для неизменившейся записи переиспользует существующий черновик и review-задачу. Кнопка "Пересоздать черновик" ставит повторный анализ с forceNew=true в Queue и заменяет окно после готовности новой review-операции; прежний черновик не удаляется. Кнопка "Распознать повторно" показывает штатный монитор Queue и запускает FT OCR v2: preprocessing 2x, варианты PSM 3/4/6/11, языковые кандидаты и сравнение с 22/953. Новый текст заменяет 22 только при улучшении, низкокачественная сторона может быть пропущена; manifest v2 хранит метрики, решение, кандидатов и валидный координатный TSV. После проверки ставится создание нового черновика. Общая страница AI/Reviews остается доступной для очереди и расширенной диагностики review-задач, но для штатного ИМИДЖ-сценария переход на нее не требуется.