Каталог решений - Платформа ИИ Open WebUI, интеграция с 1С:Документооборот для обработки корпоративных документов

Платформа ИИ Open WebUI, интеграция с 1С:Документооборот для обработки корпоративных документов

Платформа ИИ Open WebUI, интеграция с 1С:Документооборот для обработки корпоративных документов

В наличии

Попробуем создать Ассистента на базе искусственного интеллекта, который будет помогать обрабатывать документы организации. Ассистента будем создавать на платформе Open WebUI, рассмотрим её настройки и интеграцию с ней 1С:Документооборот. Основная часть статьи посвящена настройке самой платформы и описанию её функционала, а также рассмотрены некоторые подводные камни, на которые сам натолкнулся.

Категория:

Описание

Содержание:

Введение

Описание расширения интеграции

Небольшая вводная часть

Описание платформы Open WebUI

Установка

Администрирование

Подключения

Про деньги

Модели

Документы

Извлечение контента

Режим полного контекста

Модели встраивания

Веб-поиск

Интерфейс

Аудио

Рабочее пространство

Получение ключа для расширения интеграции

 

Введение

Общее увлечение искусственным интеллектом не обошло и меня стороной, и т. к. моя специализация — документооборот, то я решил поискать ответ на вопрос, можно ли сделать систему, которая позволит обрабатывать документы организации с использованием ИИ. Например, подготовить письмо контрагенту на основании всей переписки с ним или обработать и представить в удобном виде некую техническую документацию, да и просто найти файлы в базе 1С:Документооборот, но не по ключевым словам, а по смыслу. Решение этих задач позволит существенно увеличить производительность труда работников, а не в этом ли одна из основных задач программистов?

Немного погрузившись в контекст и выяснив, что задача не решается в лоб (о попытке «срастить» Документооборот и Ollama тут), я решил посмотреть, какие подходы существуют в мировой практике. Оказалось, что уже существуют готовые платформы, которые позволяют решать любые (почти) задачи с использованием ИИ. То есть там и web-интерфейс, и администрирование пользователей, и настройка моделей, и обработка документов, интеграция с поиском, распознавание и синтез голоса, и много чего ещё.

Платформа Open WebUI была выбрана мной для изучения, потому что в ней собраны все актуальные на данный момент технологии ИИ, соответственно, изучая эти технологии, получаешь представление о самых передовых тенденциях. Вот Яндекс на тарифе PRO внедрил персонификацию, а в Open WebUI этот механизм уже давно есть, и автоматическое извлечение персонифицирующей информации делается специальной функцией. Кстати, желающим посмотреть на мегапромт этой функции, рекомендую глянуть тут (в самом низу).

Сначала коротко про интеграцию с Документооборотом, потом уже буду описывать платформу.

 

Описание расширения интеграции

Документы в Open WebUI можно объединять в базы знаний для совместной обработки (из описания платформы будет понятно, зачем так), поэтому в Документообороте решил использовать категории для объединения документов. Можно использовать существующие, а можно и специальные категории создать для целей интеграции.

 

 

В настройках нужно указать адрес сервера Open WebUI и связать предварительно созданные базы знаний и категории. Доступ осуществляется по API-токену, который находится в настройках пользователя платформы Open WebUI. Очень рекомендую для импорта документов из Документооборота создать отдельного пользователя, это не только вопрос безопасности, но ещё и скорости, а в настройках ограничить доступ данному пользователю только к тем базам знаний, которые соответствуют категориям. Эта рекомендация связана с тем, что платформа при запросе списка файлов в базах знаний возвращает все файлы по всем базам, которые доступны пользователю, соответственно, будет много лишней информации.

 

 

Добавление файлов можно осуществлять вручную с помощью обработки «Добавление файлов в базу знаний», например, можно заполнить таблицу по категории (1), при этом будут показаны результаты предыдущих загрузок, потом загрузить файлы в Open WebUI (2), для них будут получены уникальные идентификаторы, а потом добавить файлы в базу знаний (3).

Основным способом загрузки файлов является регламентное задание «Обновление базы знаний OpenWebUI», которое для каждой категории получает некоторое количество файлов (размер порции задаётся в настройках), загружает их на сервер Open WebUI и добавляет в соответствующую базу знаний. Если у файла появляется новая версия, то старая удаляется, и загружается новая.

 

 

Для ручной синхронизации файлов между 1С:Документооборот и платформой есть специальная форма, у неё две кнопки: сначала сверяем списки файлов, потом синхронизируем, то есть удаляем из регистра те, которых уже на сервере нет и удаляем на сервере те, которых нет в регистре.

Вся остальная работа происходит в интерфейсе платформы Open WebUI, к ней и переходим.

 

Небольшая вводная часть

Характеристики сервера, установка сервера Ollama и его настройки описаны тут, все остальные сервисы устанавливаются как контейнеры Docker. Постараюсь не повторять официальную документацию, только те вопросы, которые у меня вызвали трудности. Все настройки актуальны для версии Open WebUI 0.6.15 и Ollama 0.6.7. У меня сейчас всё запущено через docker-compose, но т.к. каждый компонент буду разбирать отдельно, то и команды запуска буду писать отдельно для каждого контейнера.

 

Описание платформы Open WebUI

Установка

Идём на страницу официальной документации, там написано, как скачать и запустить. Единственное, что я не использую передачу параметров платформы через переменные окружения, почти все параметры можно установить в настройках, так нагляднее и не нужно перезапускать контейнер при изменении.

Также не забываем, что по умолчанию все данные подключаемого тома Docker будут лежать в папке /var/lib/docker/volumes/open-webui/_data. Там будут копии загруженных файлов, база самой платформы и векторная база RAG, так что нужно позаботиться о свободном месте. Я ещё удаляю файлы, которые загружены больше месяца назад скриптом через cron.

 

Администрирование

 

 

Запускаем, создаём себе логин с паролем, идём в настройки, пункт «Общее», там важно включить «Включить ключ API», только после этого у пользователей появится возможность авторизации по API. Иначе только JWT, что неудобно. На скринах видны мои текущие настройки, они, в основном, понятны. Отмечу только, что тут есть возможность сделать так, чтобы пользователи сами себя заводили, а администратор потом им давал необходимые права. Есть группы пользователей и авторизация LDAP, для использования в корпоративной среде.

 

Подключения

В платформе Open WebUI поддерживаются два протокола исходящих подключений, а именно Open AI и Ollama. Сейчас почти все современные системы ИИ поддерживают API от Open AI, исключениями стали (как ни странно) Яндекс и Сбер. У Яндекса API свой, но очень дружелюбная поддержка и есть адаптер, а API Сбера очень похож на «нормальный», но API-токен живёт 30 минут и его необходимо получать с использованием другого токена. Да, и техподдержка не многословная и помогать не собирается. Поэтому я использовал адаптер для подключения к ИИ Яндекса, информация о нём тут, можно собрать свой контейнер, чтобы ни от кого не зависеть. Как получить ключ API от сервисов Яндекса, не буду описывать, но отмечу, что общий ключ подключения получается составной через символ «@», т.е. {FOLDER_ID}@{API_KEY_OR_IAM_KEY}.

 

has been added to your cart:
Оформление заказа