Действия

QAS. Руководство администратора: различия между версиями

Материал из Флора AI

Нет описания правки
(fragments.filters)
 
(не показано 27 промежуточных версий 7 участников)
Строка 7: Строка 7:


====='''Системные требования'''=====
====='''Системные требования'''=====
Для нормальной работы сервиса, без GPU, необходимо не менее 8 CPU (минимальные требования для использование метода <u>ask</u>) >= 2.20GHz с поддержкой инструкций AVX2 или новее:
Для нормальной работы сервиса без GPU необходимо не менее 8 CPU (минимальные требования для использования метода ask) >= 2.20 GHz с поддержкой инструкций AVX2 или новее:
*Intel Haswell
*Intel Haswell
*Intel Broadwell
*Intel Broadwell
Строка 20: Строка 20:
*AMD Zen 2 (AMD Ryzen)
*AMD Zen 2 (AMD Ryzen)
*AMD Zen 3 (AMD Ryzen)
*AMD Zen 3 (AMD Ryzen)
Работа на CPU при использование метода <u>ask</u> крайне не рекомендуется. Оперативной памяти необходимо не менее 16Gb, для работы без GPU.
Работа на CPU при использовании метода ask крайне не рекомендуется. Оперативной памяти необходимо не менее 16Gb для работы без GPU.
 




====='''Установка/обновление сервиса'''=====
====='''Установка/обновление сервиса'''=====
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/qas&fileid=26891 Дистрибутив] распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для Вашей системы в каталоге с пакетом.
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/qas&fileid=26891 Дистрибутив] распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для вашей системы в каталоге с пакетом.


Перед установкой непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]].
Перед установкой непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]].
Строка 30: Строка 31:
* Установка/обновление QAS осуществляется скриптом <code>chmod +x ./qas-<версия>-<релиз>.sh && ./qas-<версия>-<релиз>.sh -i</code> с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор <code>./qas-<версия>-<релиз>.sh</code> без ключей.
* Установка/обновление QAS осуществляется скриптом <code>chmod +x ./qas-<версия>-<релиз>.sh && ./qas-<версия>-<релиз>.sh -i</code> с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор <code>./qas-<версия>-<релиз>.sh</code> без ключей.
* Загрузить последнюю версию продукта  <code>curl -s "<nowiki>https://repo.connect2ai.net/api/qas/new</nowiki>" --user '[user]:[pass]' 2>&1 | bash</code> или в интерактивном режиме <code>bash -c "$(curl -s https://repo.connect2ai.net/api/qas --user '[user]:[pass]' 2>&1)"</code>.
* Загрузить последнюю версию продукта  <code>curl -s "<nowiki>https://repo.connect2ai.net/api/qas/new</nowiki>" --user '[user]:[pass]' 2>&1 | bash</code> или в интерактивном режиме <code>bash -c "$(curl -s https://repo.connect2ai.net/api/qas --user '[user]:[pass]' 2>&1)"</code>.
* Обновить QAS <code>/opt/qas/inupdate</code> в интерактивном режиме. Или запустить с ключём:
* Обновить QAS <code>/opt/qas/inupdate</code> в интерактивном режиме. Или запустить с ключом:
** <code>/opt/qas/inupdate -b</code> - обновить до последней beta версии;
** <code>/opt/qas/inupdate -b</code> обновить до последней beta версии;
** <code>/opt/qas/inupdate -r</code> - обновить до последней release версии;
** <code>/opt/qas/inupdate -r</code> обновить до последней release версии;
** <code>/opt/qas/inupdate -n</code> - обновить до последней версии (не важно beta или release).
** <code>/opt/qas/inupdate -n</code> обновить до последней версии (неважно beta или release).
* Установить модели  <code>/opt/qas/inmodel</code> в интерактивном режиме.
* Установить модели  <code>/opt/qas/inmodel</code> в интерактивном режиме.
* Проверить актуальную версию продукта <code>curl -s "<nowiki>https://repo.connect2ai.net/api/qas/version</nowiki></code>.
* Проверить актуальную версию продукта <code>curl -s "<nowiki>https://repo.connect2ai.net/api/qas/version</nowiki></code>.
* Посмотреть лог изменений  <code>curl -s "<nowiki>https://repo.connect2ai.net/api/qas/changelog</nowiki>" --user '[user]:[pass]'</code>.
* Посмотреть лог изменений  <code>curl -s "<nowiki>https://repo.connect2ai.net/api/qas/changelog</nowiki>" --user '[user]:[pass]'</code>.
* Полное описание всех команд API репозитория можно найти по ссылке '''https://repo.connect2ai.net/api'''. <code>[user]:[pass]</code> - это тот же логин и пароль, что и от [https://cloud.connect2ai.net '''Nextcloud'''.]
* Полное описание всех команд API репозитория можно найти по ссылке '''https://repo.connect2ai.net/api'''. <code>[user]:[pass]</code> это тот же логин и пароль, что и от [https://cloud.connect2ai.net '''Nextcloud'''.]
* В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):
* В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):
** echo -n <code>"[user]:[pass]"</code>  > /opt/qas/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)
** echo -n <code>"[user]:[pass]"</code>  > /opt/qas/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)
** echo -n <code>"<nowiki>http://example.com:3128</nowiki> [user] [password]"</code>  > /opt/qas/.proxy (это файл конфигурации proxy необходим для обновления и загрузки моделей, при отсутсвующем прямом подключение к интернету)
** echo -n <code>"<nowiki>http://example.com:3128</nowiki> [user] [password]"</code>  > /opt/qas/.proxy (это файл конфигурации proxy, необходим для обновления и загрузки моделей, при отсутствующем прямом подключении к интернету)


При обновление следующий список файлов и папок сохранияется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data.
При обновлении следующий список файлов и папок сохраняется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.


Не забудьте запустить сервис и включить в автозапуск в системе:
Не забудьте запустить сервис и включить в автозапуск в системе:
Строка 54: Строка 55:
Разрешите доступ к порту 6187 на нужном интерфейсе по протоколу tcp.
Разрешите доступ к порту 6187 на нужном интерфейсе по протоколу tcp.


===== '''Лицензия''' =====
Сервис не функционирует без действующей лицензии. Информация о лицензии хранится в файле:
<code>/opt/qas/license.json</code>
Файл лицензии должен соответствовать следующему формату:
<code>{"service": "qas", "expire": "2045-01-01", "licenses": , "key": ""}</code>
Для получения лицензии необходимо:
1. Запустить сервис <code>systemctl start qas</code> и извлечь UUID, указанный в файле <code>/opt/qas/logs/log.txt</code>
2. Передать полученный UUID руководителю проекта для оформления лицензии.
====='''Установка моделей'''=====
В составе QAS используются модели векторизации, и генеративные модели LLM.
Модели векторизации располагаются в папках:
* /opt/qas/pretrained/embeddings/questions - для работы с кэшем вопросов
* /opt/qas/pretrained/embeddings/docs - для работы с документами
* /opt/qas/pretrained/embeddings/rerank - для реранжирования документов
Расположение моделей LLM: /opt/qas/pretrained/gpt/<имя_модели>/. Например , встроенная модель LLM: /opt/qas/pretrained/gpt/default/. Модели после установки QAS должны быть добавлены системным администратором.
QAS допускает использование дополнительных моделей LLM. Каждая из таких моделей должна быть в отдельной папке каталога /opt/qas/pretrained/gpt/<имя_модели>/. Если модель формата GGUF, то достаточно поместить ее в свою папку в  /opt/qas/pretrained/gpt/. В остальных случаях (в том числе и если необходимо обращаться к стороннему api) в папке модели должен быть файл handler.py с функцией handler(prompt='тут текст',params={параметры запроса, см. в руководстве пользователя в метода добавления шаблона запроса}), которая возвращает сгенерированный текст.




====='''Работа в составе кластера'''=====
====='''Работа в составе кластера'''=====


Для высоконагруженных систем сервис можно расположить на нескольких нодах(виртуальных машинах). В этом случае чтобы не потерять документы и изменения полученные на одной из нод, выделяется один основной сервис и вспомогательные сервисы:
Для высоконагруженных систем сервис можно расположить на нескольких нодах (виртуальных машинах). В этом случае, чтобы не потерять документы и изменения, полученные на одной из нод, выделяется один основной сервис и вспомогательные сервисы:


* База файловая, в папке data.
* База файловая, в папке data.
* lsync настроен через конфиг QAS для репликации базы на все указанные серверы в списке cluster.nodes: [], указывем все слейв сервера.
* lsync настроен через конфиг QAS для репликации базы на все указанные серверы в списке cluster.nodes: [], указываем все слейв-сервера.
* На всех слейвах прописан в конфиге master, чтобы все операции добавления и изменения данных при автокэшировании они производили через мастер. Параметр в конфиге questions.master, на мастере значение "<nowiki>http://127.0.0.1:6187</nowiki>".
* На всех слейвах прописан в конфиге master, чтобы все операции добавления и изменения данных при автокешировании они производили через мастер. Параметр в конфиге questions.master, на мастере значение «<nowiki>http://127.0.0.1:6187»</nowiki>.
* Векторная база на каждом сервере своя, она следит за своей папкой data и обновляет в оперативке по этой папке данные у себя.
* Векторная база на каждом сервере своя, она следит за своей папкой data и обновляет в оперативке по этой папке данные у себя.
* UPS при изменении данных работает только с мастером QAS, а при запросе данных - со всем серверами cluster, распределяя нагрузку.
* UPS при изменении данных работает только с мастером QAS, а при запросе данных со всеми серверами cluster, распределяя нагрузку.
* В конфигурации UPS: в servers.qas.cluster.trainer указываем матер сервер, в servers.qas.cluster перечисляем все сервера кластера QAS в том числе и мастер.
* В конфигурации UPS: в servers.qas.trainer указываем мастер-сервер, в servers.qas.cluster перечисляем все сервера кластера QAS, в том числе и мастер.


===== '''Конфигурирование параметров сервиса''' =====
===== '''Конфигурирование параметров сервиса''' =====
Настройка параметров сервиса qas производится в файле /opt/qas/config.json
Настройка параметров сервиса qas производится в файле /opt/qas/config.json.


Описание параметров приведено в таблице
Описание параметров приведено в таблице.
{| class="wikitable"
{| class="wikitable"
|+
|+
!Параметр
!style="width: 20%"|Параметр
!По умолчанию
!По умолчанию
!Назначение
!Назначение
|-
|reloader.period
|60
|Период обновления векторов базы вопросов и документов.
|-
|gpt.instances
|1
|Количество экземпляров встроенной нейросети
|-
|gpt.gpu_layers
|12
|Количество слоёв gpt нейросети, загружаемых в память видеокарты. Остальные слои загрузятся в оперативную память. Чтобы загрузить '''всю''' модель в ГПУ использовать значение "'''-1'''"
|-
|gpt.context
|32768
|Размер контекста встроенной нейросети.
|-
|-
|logs.path
|logs.path
|logs/
|logs/
|Папка для хранения логов. Примеры абсолютного пути: "/var/log/qas/"
|Папка для хранения логов. Примеры абсолютного пути: "/var/log/qas/".
|-
|-
|logs.backups
|logs.backups
|10
|10
|Количество файлов ротации
|Количество файлов ротации.
|-
|-
|logs.maxSize
|logs.maxSize
|5242880
|5242880
|Максимальный размер файла в байтах, триггер для ротации
|Максимальный размер файла в байтах, триггер для ротации.
|-
|-
|<s><small>fragments.window</small></s>
|cache.size
|<small>256</small>
|2560000
|<s><small>Ширина окна векторизации текста</small></s>
|Максимальный размер кэша векторов
|-
|-
|<s><small>fragments.shift</small></s>
|cache.update
|<small>8</small>
|3600
|<s><small>Cдвиг окна векторизации текста</small></s>
|Период сохранения кэша на диск (секунды)
|-
|<s><small>fragments.neighbours</small></s>
|<small>1</small>
|<s><small>Количество предложений слева и справа от текущего векторизируемого предложения, которые попадут в векторизируемый фрагмент.</small></s>
|-
|-
|fragments.context
|fragments.context
|2048
|16384
|Максимальная длина текста, которая будет подана в генератор для поиска ответа на вопрос
|Максимальная длина текста, которая будет подана в генератор для поиска ответа на вопрос.
|-
|-
|fragments.threshold
|fragments.threshold
|0.6
|0.5
|Уровень достоверности при векторном поиске фрагментов в загруженных документах
|Уровень достоверности при векторном поиске фрагментов в загруженных документах.
|-
|-
|fragments.limit
|fragments.limit
|2
|1
|Максимальное количество фрагментов, которые должны быть найдены в документах в порядке убывания доверия
|Максимальное количество фрагментов, которые должны быть найдены в документах в порядке убывания доверия.
|-
|fragments.alpha
|0.5
|Параметр alpha — весовой коэффициент в формуле итоговой релевантности фрагмента, которая объединяет результаты двух моделей: векторизации и реранжирования.
Настройка параметра:
 
- Высокие значения (близкие к 1.0): Система в большей степени доверяет результатам модели векторизации.
 
- Низкие значения (близкие к 0.0): Система больше полагается на более точную, но ресурсоемкую модель реранжирования.
|-
|-
|questions.autocache
|fragments.filters
|true
|[
|Разрешает автоматически кешировать вопросы и ответы на них
"^\\d+\\.$",
 
"^[^\\S\n]*[(\\{\\[«\"]?\\d+\\.[^\\S\\\n]*$",
 
"^[{}\\[\\]]$",
 
"^[a-z]{2,3}\\.?$",
 
"^(?:https?|ftp|www|com|org|net|io|co|edu|gov|html)$"
 
]
|Список регулярных выражений, который используются как фильтр мусора для векторизации. Все что вызывает положительно срабатывание не будет векторизовано.
|-
|-
|questions.master
|questions.master
|"<nowiki>http://127.0.0.1:6187</nowiki>"
|"<nowiki>http://127.0.0.1:6187</nowiki>"
|Адрес мастер-сервера для работы в кластере. Необходим чтобы добавленные вопросы распространились на серверы кластера
|Адрес мастер-сервера для работы в кластере. Необходим, чтобы добавленные вопросы распространились на серверы кластера.
|-
|-
|questions.threshold
|questions.threshold
|0.7
|0.9
|Минимальный уровень достоверности ответа для попадания в кеш
|Минимальный уровень достоверности ответа для попадания в кеш.
|-
|-
|cluster.logfile
|cluster.logfile
|logs/sync.log
|logs/sync.log
|Расположение лог файла синхронизации (актуально для мастер-сервера)
|Расположение лог-файла синхронизации (актуально для мастер-сервера).
|-
|-
|cluster.logfile
|cluster.logfile
Строка 135: Строка 200:
|cluster.nodes
|cluster.nodes
|[ ]
|[ ]
|Ноды кластера на которые с мастер-сервера будут распространяться изменения
|Ноды кластера, на которые с мастер-сервера будут распространяться изменения.
|}
|}


===== '''Сбор данных об ошибках''' =====
===== '''Сбор данных об ошибках''' =====
Строка 145: Строка 209:
====='''Удаление'''=====
====='''Удаление'''=====
Для удаления выполните команду: <code>/opt/qas/uninstall</code>. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели.
Для удаления выполните команду: <code>/opt/qas/uninstall</code>. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели.
===== '''Часто задаваемые вопросы''' =====
{| class="wikitable"
|+
!Вопрос
!Ответ
|-
|
|
|-
|
|
|-
|
|
|}

Текущая версия от 14:57, 1 ноября 2025

Общее описание

Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.

Термины и определения

Question Answering System (QAS) – сервис ответов на вопросы.


Системные требования

Для нормальной работы сервиса без GPU необходимо не менее 8 CPU (минимальные требования для использования метода ask) >= 2.20 GHz с поддержкой инструкций AVX2 или новее:

  • Intel Haswell
  • Intel Broadwell
  • Intel Skylake
  • Intel Kaby Lake
  • Intel Coffee Lake
  • Intel Comet Lake
  • Intel Rocket Lake
  • Intel Alder Lake
  • AMD Excavator
  • AMD Zen (AMD Ryzen)
  • AMD Zen 2 (AMD Ryzen)
  • AMD Zen 3 (AMD Ryzen)

Работа на CPU при использовании метода ask крайне не рекомендуется. Оперативной памяти необходимо не менее 16Gb для работы без GPU.


Установка/обновление сервиса

Дистрибутив распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для вашей системы в каталоге с пакетом.

Перед установкой непосредственно сервиса необходимо установить сервисный пакет окружения.

  • Установка/обновление QAS осуществляется скриптом chmod +x ./qas-<версия>-<релиз>.sh && ./qas-<версия>-<релиз>.sh -i с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор ./qas-<версия>-<релиз>.sh без ключей.
  • Загрузить последнюю версию продукта curl -s "https://repo.connect2ai.net/api/qas/new" --user '[user]:[pass]' 2>&1 | bash или в интерактивном режиме bash -c "$(curl -s https://repo.connect2ai.net/api/qas --user '[user]:[pass]' 2>&1)".
  • Обновить QAS /opt/qas/inupdate в интерактивном режиме. Или запустить с ключом:
    • /opt/qas/inupdate -b – обновить до последней beta версии;
    • /opt/qas/inupdate -r – обновить до последней release версии;
    • /opt/qas/inupdate -n – обновить до последней версии (неважно beta или release).
  • Установить модели /opt/qas/inmodel в интерактивном режиме.
  • Проверить актуальную версию продукта curl -s "https://repo.connect2ai.net/api/qas/version.
  • Посмотреть лог изменений curl -s "https://repo.connect2ai.net/api/qas/changelog" --user '[user]:[pass]'.
  • Полное описание всех команд API репозитория можно найти по ссылке https://repo.connect2ai.net/api. [user]:[pass] – это тот же логин и пароль, что и от Nextcloud.
  • В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):
    • echo -n "[user]:[pass]" > /opt/qas/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)
    • echo -n "http://example.com:3128 [user] [password]" > /opt/qas/.proxy (это файл конфигурации proxy, необходим для обновления и загрузки моделей, при отсутствующем прямом подключении к интернету)

При обновлении следующий список файлов и папок сохраняется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.

Не забудьте запустить сервис и включить в автозапуск в системе:

sudo systemctl enable qas.service && sudo systemctl start qas.service

Удостоверьтесь, что сервис стартовал:

systemctl status qas.service

Разрешите доступ к порту 6187 на нужном интерфейсе по протоколу tcp.


Лицензия

Сервис не функционирует без действующей лицензии. Информация о лицензии хранится в файле:

/opt/qas/license.json

Файл лицензии должен соответствовать следующему формату:

{"service": "qas", "expire": "2045-01-01", "licenses": , "key": ""}

Для получения лицензии необходимо:

1. Запустить сервис systemctl start qas и извлечь UUID, указанный в файле /opt/qas/logs/log.txt

2. Передать полученный UUID руководителю проекта для оформления лицензии.


Установка моделей

В составе QAS используются модели векторизации, и генеративные модели LLM.

Модели векторизации располагаются в папках:

  • /opt/qas/pretrained/embeddings/questions - для работы с кэшем вопросов
  • /opt/qas/pretrained/embeddings/docs - для работы с документами
  • /opt/qas/pretrained/embeddings/rerank - для реранжирования документов

Расположение моделей LLM: /opt/qas/pretrained/gpt/<имя_модели>/. Например , встроенная модель LLM: /opt/qas/pretrained/gpt/default/. Модели после установки QAS должны быть добавлены системным администратором.

QAS допускает использование дополнительных моделей LLM. Каждая из таких моделей должна быть в отдельной папке каталога /opt/qas/pretrained/gpt/<имя_модели>/. Если модель формата GGUF, то достаточно поместить ее в свою папку в /opt/qas/pretrained/gpt/. В остальных случаях (в том числе и если необходимо обращаться к стороннему api) в папке модели должен быть файл handler.py с функцией handler(prompt='тут текст',params={параметры запроса, см. в руководстве пользователя в метода добавления шаблона запроса}), которая возвращает сгенерированный текст.


Работа в составе кластера

Для высоконагруженных систем сервис можно расположить на нескольких нодах (виртуальных машинах). В этом случае, чтобы не потерять документы и изменения, полученные на одной из нод, выделяется один основной сервис и вспомогательные сервисы:

  • База файловая, в папке data.
  • lsync настроен через конфиг QAS для репликации базы на все указанные серверы в списке cluster.nodes: [], указываем все слейв-сервера.
  • На всех слейвах прописан в конфиге master, чтобы все операции добавления и изменения данных при автокешировании они производили через мастер. Параметр в конфиге questions.master, на мастере значение «http://127.0.0.1:6187».
  • Векторная база на каждом сервере своя, она следит за своей папкой data и обновляет в оперативке по этой папке данные у себя.
  • UPS при изменении данных работает только с мастером QAS, а при запросе данных — со всеми серверами cluster, распределяя нагрузку.
  • В конфигурации UPS: в servers.qas.trainer указываем мастер-сервер, в servers.qas.cluster перечисляем все сервера кластера QAS, в том числе и мастер.
Конфигурирование параметров сервиса

Настройка параметров сервиса qas производится в файле /opt/qas/config.json.

Описание параметров приведено в таблице.

Параметр По умолчанию Назначение
reloader.period 60 Период обновления векторов базы вопросов и документов.
gpt.instances 1 Количество экземпляров встроенной нейросети
gpt.gpu_layers 12 Количество слоёв gpt нейросети, загружаемых в память видеокарты. Остальные слои загрузятся в оперативную память. Чтобы загрузить всю модель в ГПУ использовать значение "-1"
gpt.context 32768 Размер контекста встроенной нейросети.
logs.path logs/ Папка для хранения логов. Примеры абсолютного пути: "/var/log/qas/".
logs.backups 10 Количество файлов ротации.
logs.maxSize 5242880 Максимальный размер файла в байтах, триггер для ротации.
cache.size 2560000 Максимальный размер кэша векторов
cache.update 3600 Период сохранения кэша на диск (секунды)
fragments.context 16384 Максимальная длина текста, которая будет подана в генератор для поиска ответа на вопрос.
fragments.threshold 0.5 Уровень достоверности при векторном поиске фрагментов в загруженных документах.
fragments.limit 1 Максимальное количество фрагментов, которые должны быть найдены в документах в порядке убывания доверия.
fragments.alpha 0.5 Параметр alpha — весовой коэффициент в формуле итоговой релевантности фрагмента, которая объединяет результаты двух моделей: векторизации и реранжирования.

Настройка параметра:

- Высокие значения (близкие к 1.0): Система в большей степени доверяет результатам модели векторизации.

- Низкие значения (близкие к 0.0): Система больше полагается на более точную, но ресурсоемкую модель реранжирования.

fragments.filters [

"^\\d+\\.$",

"^[^\\S\n]*[(\\{\\[«\"]?\\d+\\.[^\\S\\\n]*$",

"^[{}\\[\\]]$",

"^[a-z]{2,3}\\.?$",

"^(?:https?|ftp|www|com|org|net|io|co|edu|gov|html)$"

]

Список регулярных выражений, который используются как фильтр мусора для векторизации. Все что вызывает положительно срабатывание не будет векторизовано.
questions.master "http://127.0.0.1:6187" Адрес мастер-сервера для работы в кластере. Необходим, чтобы добавленные вопросы распространились на серверы кластера.
questions.threshold 0.9 Минимальный уровень достоверности ответа для попадания в кеш.
cluster.logfile logs/sync.log Расположение лог-файла синхронизации (актуально для мастер-сервера).
cluster.logfile logs/sync.status Расположение файла статуса lsyncd (актуально для мастер-сервера)
cluster.nodes [ ] Ноды кластера, на которые с мастер-сервера будут распространяться изменения.
Сбор данных об ошибках

Логи сервиса по умолчанию находятся в файле /opt/qas/logs/log.txt


Удаление

Для удаления выполните команду: /opt/qas/uninstall. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели.