Применение RAG для работы с документацией Wazuh: Пошаговое руководство (Часть 1)

Применение RAG для работы с документацией Wazuh: Пошаговое руководство (Часть 1)

Введение в RAG и его роль

Retrieval-Augmented Generation (RAG) - это метод, который позволяет использовать информацию из различных источников для создания более точных и полезных ответов на вопросы.

В контексте Wazuh, RAG может быть использован для автоматизации обработки данных, оптимизации доступа к информации и улучшения поиска информации.

Подготовка к интеграции RAG

Перед началом интеграции RAG c документацией Wazuh, необходимо выполнить следующие шаги:

  • Оценка текущей документации: Проанализируйте существующую документацию Wazuh.
  • Сбор данных: Соберите все необходимые данные и источники информации, которые будут использоваться RAG для генерации ответов.
  • Выбор инструментов: Определите подходящие инструменты и технологии для интеграции RAG в вашу систему.

Оценка текущей документации Wazuh

Документация Wazuh доступна на Wazuh GitHub. В этой документации содержится основная информация о Wazuh, его функциях и возможностях.

Документация использует генератор документации на основе Sphinx.

Это позволяет вам собрать документацию локально и использовать её для Retrieval-Augmented Generation (RAG).

Как собрать документацию локально

Чтобы собрать документацию Wazuh для последующего использования в RAG, выполните следующие шаги:

  1. Убедитесь, что у вас установлены Python и pip: Проверьте наличие Python и pip на вашем компьютере.

  2. Альтернатива: использование Docker: Если вы не хотите устанавливать Python и pip, вы можете использовать Docker для сборки.

  3. Скачайте документацию Wazuh: Используйте команду:

    git clone https://github.com/wazuh/wazuh-documentation.git -b <branch-name>
    

    Замените <branch-name> на нужную вам ветку.

  4. Перейдите в директорию документации: Выполните команду:

    cd wazuh-documentation
    
  5. Установите зависимости: Запустите команду:

    pip install -r requirements.txt
    
  6. Соберите документацию: В корневой директории репозитория выполните команду:

    make output-format
    

    Замените output-format на нужный вам формат.

Следуя этим шагам, вы сможете собрать документацию Wazuh для использования в RAG.

Сборка документации Wazuh с помощью Docker

Вы можете собрать документацию Wazuh с помощью Docker, следуя этим шагам:

  1. Установите Docker: Убедитесь, что у вас установлен Docker на вашем компьютере.

  2. Скачайте документацию Wazuh: Используйте команду:

    git clone https://github.com/wazuh/wazuh-documentation.git -b v4.11.0
    
  3. Создайте Dockerfile и docker-compose файл: В директории с документацией создайте файлы Dockerfile и docker-compose.yml. В Dockerfile укажите необходимые инструкции для сборки, а в docker-compose.yml настройте сервисы для работы с Docker.

  4. Соберите документацию: Запустите команду для сборки документации с помощью Docker.

Следуя этим шагам, вы сможете эффективно собрать документацию Wazuh с помощью Docker.

Теперь давайте соберем документацию по шагам:

  1. Создайте директорию для сборки:

    mkdir wazuh-documentation-rag
    cd wazuh-documentation-rag
    
  2. Скачайте репозиторий с документацией Wazuh: В данном примере используется документация для версии 4.11.0:

    git clone https://github.com/wazuh/wazuh-documentation.git -b v4.11.0
    
  3. Создайте Dockerfile: В директории wazuh-documentation-rag создайте файл Dockerfile со следующим содержимым:

    # Используем базовый образ с Python 3.9
    FROM python:3.9
    
    # Устанавливаем рабочую директорию
    WORKDIR /app
    
    # Копируем зависимости в папку /tmp/requirements.txt
    COPY wazuh-documentation/requirements.txt /tmp/requirements.txt
    
    # Устанавливаем зависимости
    RUN pip install -r /tmp/requirements.txt
    
    CMD ["sleep", "infinity"]
    
  4. Создайте docker-compose.yml файл: В той же директории создайте файл docker-compose.yml для управления Docker-контейнером:

    services:
      wazuh-docs:
        build: .
        volumes:
          - ./wazuh-documentation:/app/wazuh-documentation
    
  5. Запустите:

    docker compose up -d --build 
    

К сожалению, в данный момент невозможно сразу собрать документацию в формате PDF.

Однако вы можете собрать документ в формате single HTML, а затем конвертировать его в PDF.

Для сборки single HTML выполните следующие команды:

  1. Запускаем docker compose up -d --build
  2. Подключитесь к контейнеру с помощью docker compose exec -it wazuh-docs bash
  3. Соберите документацию с помощью команды cd /app/wazuh-documentation && make singlehtml
  4. Дождитесь завершения сборки (может какое-то время)
  5. Отключитесь от контейнера: exit
  6. Перейдите в каталог с собранной документацией: cd wazuh-documentation/build/singlehtml/
  7. Конвертируйте single HTML в PDF с помощью команды wkhtmltopdf index.html wazuh.pdf, убедитесь, что wkhtmltopdf установлен.

Продолжение следует, следите за обновлениями.


Смотрите также