Инструкция по установке и эксплуатации программного обеспечения Платформа для создания умных поисковых ИИ-ассистентов "ИнсайтСтрим"

Введение

Данная документация предназначена для специалистов, занимающихся развертыванием и промышленной эксплуатацией, а также пользователей Платформы для создания умных поисковых ИИ-ассистентов "ИнсайтСтрим" (https://compressa.ai) — системы поиска и формирования кратких сводок по корпоративным данным. Платформа для создания умных поисковых ИИ-ассистентов "ИнсайтСтрим" помогает упростить доступ к информации, автоматизировать поиск и формировать итоговые ответы, что повышает эффективность работы сотрудников.

Платформа для создания умных поисковых ИИ-ассистентов "ИнсайтСтрим" позволяет обрабатывать корпоративные данные, такие как регламенты, инструкции и другие неструктурированные документы, помогая сократить время поиска и повысить продуктивность сотрудников.

Общее описание системы

Платформа для создания умных поисковых ИИ-ассистентов "ИнсайтСтрим" представляет собой интеллектуальную поисковую систему для корпоративной сети, использующую технологию поиска с генерацией ответа (RAG) и большую языковую модель для формирования ответов. Система позволяет создавать ассистентов для поиска и формирования кратких сводок по информации из загруженных документов.

Основные компоненты системы

  • База данных: Qdrant — используется для хранения и поиска данных (устанавливается отдельно)
  • Система обмена сообщениями: RabbitMQ — управляет очередями задач и обменом сообщениями между сервисами
  • Индексатор: работает с Qdrant для хранения и поиска данных, обеспечивая подбор наиболее подходящих документов по смысловой близости
  • Суммаризатор: использует языковую модель для создания кратких и точных ответов на запросы
  • Веб-интерфейс: предоставляет доступ к системе через браузер, создан на библиотеке React.js и взаимодействует с серверной частью через программный интерфейс передачи данных (REST API)
Важно: Платформа для создания умных поисковых ИИ-ассистентов "ИнсайтСтрим" не имеет встроенной аутентификации. Настройка RabbitMQ, Qdrant и системы мониторинга осуществляется отдельно и описана в их документации.

Процесс получения дистрибутива

  1. Отправьте запрос на sales@compressa.ai с указанием информации о вашей организации и целях использования системы
  2. После обработки запроса вы получите данные для доступа и файл конфигурации развёртывания для установки

Технические требования

Минимальные требования

Компонент Требование
Операционная система Linux (рекомендуется Ubuntu 20.04 и выше)
Процессор 4 ядра
Оперативная память 8 ГБ
Диск 50 ГБ
Сеть 100 Мбит/с

Рекомендуемые требования

Компонент Требование
Процессор 8 ядер
Оперативная память 16 ГБ и более
Диск 100 ГБ на твердотельном накопителе (SSD)
Сеть 1 Гбит/с

Установка и запуск системы

Платформа для создания умных поисковых ИИ-ассистентов "ИнсайтСтрим" устанавливается с помощью средства оркестрации Docker Compose.

Основные переменные конфигурации

Для корректной работы системы необходимо указать значения следующих переменных:

  • CHAT_API_KEY: ключ доступа к программному интерфейсу языковой модели
  • CHAT_MODEL: используемая языковая модель
  • CHAT_API_BASE: адрес доступа к программному интерфейсу языковой модели
  • EMBED_MODEL, EMBED_TIKTOKEN_MODEL, EMBED_API_KEY, EMBED_API_BASE: настройки модели и программного интерфейса векторизации
  • RERANK_MODEL, RERANK_API_KEY, RERANK_API_BASE: настройки модели и программного интерфейса переранжирования
  • OPENAI_API_KEY: ключ (токен) для доступа к Compressa
  • OPENAI_BASE: адрес для доступа к программному интерфейсу Compressa
  • QDRANT_URL: базовый адрес базы данных Qdrant
  • RABBITMQ_URL: строка подключения к RabbitMQ (с логином и паролем)

Дополнительные настраиваемые переменные:

  • RABBIT_USER, RABBIT_PASS: логин и пароль пользователя RabbitMQ (по умолчанию: guest/guest)
  • AMQP_URL, AMQP_USER, AMQP_PASS: дублирующие переменные для RabbitMQ в случае проблем с доступом

Шаги установки

  1. Проверка среды:
    • Убедитесь, что Docker и Docker Compose установлены корректно
    • Проверьте доступ к реестру контейнерных образов Docker Registry или наличие импортированных образов
  2. Настройка компонентов:
    • Изучите документацию Qdrant и RabbitMQ
    • Укажите местоположение компонентов в переменных среды
  3. Подготовка файла конфигурации развёртывания:
    • Настройте конфигурацию всех компонентов Платформы для создания умных поисковых ИИ-ассистентов "ИнсайтСтрим"
    • Используйте файл .env для настройки переменных на основе файла .env.example
  4. Запуск установки: выполните команду docker-compose up -d
  5. Проверка компонентов: используйте команды docker ps и docker logs <container_name>

Доступ к компонентам

  • Индексатор: http://localhost:8501
  • Поисковый интерфейс: http://localhost:3000

Обеспечение безопасности

Платформа для создания умных поисковых ИИ-ассистентов "ИнсайтСтрим" не имеет встроенной аутентификации. Для её настройки рекомендуется использовать веб-сервер Nginx. Пример базовой конфигурации с фиксированным токеном:

server {
    listen 443 ssl;
    server_name yourdomain.com;
    ssl_certificate /path/to/your/fullchain.pem;
    ssl_certificate_key /path/to/your/privkey.pem;

    location /api/ {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        if ($http_authorization != "Bearer your_api_key_here") {
            return 401;
        }
    }
}

Рекомендации по безопасности

  • Интеграция с корпоративной системой единого входа (SSO)
  • Использование OAuth2 для повышения уровня безопасности

Журналирование и мониторинг

Журналирование

Журналы Платформы для создания умных поисковых ИИ-ассистентов "ИнсайтСтрим" выводятся в стандартный поток вывода (stdout). Для интеграции со стеком ELK используйте следующую конфигурацию:

Конфигурация Logstash:

input {
  docker {
    containers => ["insightstream"]
    type => "docker-logs"
  }
}
output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "insightstream-logs"
  }
}

После настройки Logstash настройте информационные панели в Kibana для анализа журналов.

Пример формата журнала:

[2024-10-29 14:32:45] INFO: Запрос пользователя: "Какие документы необходимы для регистрации?"
[2024-10-29 14:32:50] ERROR: Ошибка индексации документа "doc123.pdf": Недопустимый формат.

Резервное копирование и восстановление данных

Создание резервной копии

curl -X POST "http://localhost:6333/collections/{collection_name}/snapshots"

Восстановление данных

curl -X PUT "http://localhost:6333/collections/{collection_name}/snapshots/recover" -H 'Content-Type: application/json' -d'
{
  "location": "http://qdrant-node-1:6333/collections/{collection_name}/snapshots/snapshot-2022-10-10.snapshot"
}'

Обновление системы

  1. Получите новые версии контейнерных образов Docker: docker pull
  2. Остановите текущие контейнеры: docker-compose down
  3. Обновите файл конфигурации развёртывания
  4. Запустите систему: docker-compose up -d

Часто задаваемые вопросы по технической эксплуатации системы

  • Как добавить авторизацию? Используйте Nginx или интеграцию с OAuth2/SSO
  • Какие типы документов поддерживаются? PDF
  • Можно ли развернуть Платформу для создания умных поисковых ИИ-ассистентов "ИнсайтСтрим" в облаке? Да, на облачных платформах, включая AWS, GCP, Azure и другие
  • Что делать, если индексация завершилась с ошибкой? Проверьте журналы