Klarify — Руководство по установке и настройке

Открыть KLAR

1. Требования к серверу

ПараметрМинимумРекомендуемое
CPU4 ядра8 ядер
RAM8 GB16 GB
Диск50 GB SSD100 GB SSD
ОСLinux (любой дистрибутив)Ubuntu 22.04+
Docker24.0+latest
Docker Composev2.20+latest
Всё необходимое ПО (PostgreSQL, модель эмбеддингов, веб-сервер) поставляется в Docker-контейнерах. На сервере нужен только Docker.
Для полностью on-premise варианта (локальная LLM без внешних API) рекомендуется GPU (NVIDIA, 8+ GB VRAM) или 16+ ядер CPU.

2. Установка

Docker Compose (рекомендуемый способ)

Скачайте дистрибутив и распакуйте на сервере:

# Распаковать дистрибутив
tar -xzf klar-latest.tar.gz
cd klar

# Настроить параметры
cp .env.example .env
nano .env

# Запустить все сервисы
docker compose up -d

Конфигурация (.env)

ПараметрОписаниеПо умолчанию
LLM_URLURL LLM API (DeepSeek, OpenAI-совместимый)https://api.deepseek.com
LLM_API_KEYAPI-ключ LLM
LLM_MODELМодель для генерации ответовdeepseek-chat
ADMIN_PASSWORDПароль администратора
DOCSEARCH_PORTПорт веб-интерфейса8002
POSTGRES_PASSWORDПароль PostgreSQLauto-generated

Состав контейнеров

КонтейнерНазначениеПорт
kb-appВеб-приложение (FastAPI)8002
kb-dbPostgreSQL + pgvector5432 (внутренний)
kb-embedСервер эмбеддингов (e5-large)9877 (внутренний)
kb-nginxReverse proxy (HTTPS/SSL)443
Первый запуск занимает 3-5 минут — загрузка модели эмбеддингов (~2 GB). Последующие запуски — 15-30 секунд.

On-Premise LLM (без внешних API)

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

# В .env:
LLM_URL=http://kb-llm:11434/v1/chat/completions
LLM_MODEL=qwen3:14b

# docker compose up добавит контейнер Ollama с моделью
Для локальной LLM рекомендуется GPU (NVIDIA, 8+ GB VRAM) или мощный CPU (16+ ядер). Без GPU ответы генерируются 30-60 секунд.

Проверка установки

  1. Откройте https://your-server:8002 в браузере
  2. Войдите с логином admin и паролем из .env
  3. Перейдите в KLAR и загрузите тестовый документ
  4. Задайте вопрос по документу в интерфейсе поиска

Обновление

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

Что обновляетсяЧто сохраняется
Код приложения (Docker-образы)База данных (Docker volume)
Модели и алгоритмыЗагруженные документы и эмбеддинги
ИнтерфейсПользователи, роли, настройки
Промпты, FAQ, чат-история
Конфигурация (.env)

Вариант 1: С доступом к интернету

# Остановить сервисы
docker compose down

# Загрузить новые образы
docker compose pull

# Запустить (данные на месте)
docker compose up -d

# Миграция БД (если требуется — указано в release notes)
docker compose exec app python3 migrate.py

Вариант 2: Закрытый контур (без интернета)

# На машине с интернетом: сохранить образы в архив
docker save kb-app kb-embed | gzip > klar-update.tar.gz

# Перенести архив на сервер (USB, внутренняя сеть)

# На сервере: загрузить образы и перезапустить
docker load < klar-update.tar.gz
docker compose down
docker compose up -d
Рекомендуется делать резервную копию БД перед обновлением:
docker compose exec db pg_dump -U klar KnowledgeBase > backup.sql

3. Подготовка документации

Форматы

KLAR принимает: PDF, DOCX, TXT, MD, HTML, CSV, JSON, XLSX, PPTX, XSD, XML.

Рекомендации по структуре

Оптимальный размер документа: 5-50 страниц. Очень большие документы (>100 стр.) лучше разбить на части.

4. Загрузка документов

Загрузка файлов

  1. Откройте Открыть KLAR
  2. Перетащите файлы в зону загрузки или нажмите для выбора
  3. Выберите базу знаний (тенант) в выпадающем списке
  4. Прогресс отображается в плавающей панели справа внизу
  5. Проверьте документ в таблице "Документы"

Импорт с сайта

  1. Введите URL в поле "Импорт с сайта"
  2. Система автоматически определит тип сайта (статический HTML, SPA, документация с навигацией)
  3. После краулинга откроется превью секций — можно выбрать какие включить
  4. Нажмите "Сохранить выбранные" для загрузки в базу
Поддерживаются: статические сайты, SPA (React, Angular), документация Redoc/Swagger, Tilda и другие CMS.
Большие документации (80+ страниц) краулятся 5-7 минут, эмбеддинг ~25 минут. Прогресс виден в панели — можно переключаться между страницами.

5. Быстрые ответы (FAQ)

FAQ-записи отвечают мгновенно, без обращения к LLM. Используйте для самых частых вопросов.

Автоматическая загрузка

Если документ содержит структуру "## Вопрос?\nОтвет", система автоматически извлечёт пары вопрос/ответ при загрузке.

Ручное добавление

  1. KLAR раздел "Быстрые ответы (FAQ)"
  2. Введите вопрос, ответ и ключевые слова (через запятую)
  3. Ключевые слова используются для нечёткого совпадения

6. Настройка режима LLM

РежимСкоростьКачествоКогда использовать
Быстрый2-5 секБазовоеПростые вопросы, FAQ
Сбалансированный8-15 секХорошееПо умолчанию
Качественный15-30 секМаксимальноеСложные вопросы, аналитика

7. Мониторинг

Ключевые метрики

Регулярные действия

8. Персональный аналитик

Режим "Персональный аналитик" предназначен для глубокой работы со знаниями: аналитика, мониторинг, экспертные оценки.

Цифровые двойники экспертов

Настройте профили экспертов с уникальным стилем и подходом. Каждый эксперт отвечает на вопросы, комментирует идея-файлы и анализирует материалы через призму своей специализации.

Идея-файл

Идея-файл — структурированное описание концепции, собранное из контекста диалога. ИИ анализирует ваши вопросы и ответы, выделяет ключевые идеи и формирует документ.

Мониторинг новостей

Автоматический поиск новостей по заданным направлениям. ИИ фильтрует результаты, учитывая ваши предпочтения (лайки/дизлайки).

Ежедневные инсайты

Каждую ночь ИИ анализирует всю базу знаний и создаёт аналитический отчёт: паттерны, пробелы, противоречия, неочевидные связи между документами.

9. Автоматические задачи

ЗадачаРасписаниеОписание
Линтер00:00 UTCОчистка дубликатов, исправление эмбеддингов, обновление backlinks
Аналитик00:30 UTCГенерация инсайтов для пространств с включённым мониторингом
Мониторинг05:30 UTCПоиск новостей по заданным направлениям
Результаты автоматических задач можно посмотреть в Настройки → Служебные → Журнал операций

10. MCP Server (для AI-агентов)

KLAR поддерживает Model Context Protocol — стандартный протокол для подключения AI-агентов (Claude Desktop, Claude Code, Cursor) к базе знаний.

Установка

pip install mcp httpx

Запуск

# Через переменные окружения
KLAR_API_URL=https://kb.zaltrix.org KLAR_API_KEY=sk-xxx python3 mcp_server.py

# Или через аргументы
python3 mcp_server.py --api-url https://kb.zaltrix.org --api-key sk-xxx

Подключение к Claude Desktop

Добавьте в ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "klar": {
      "command": "python3",
      "args": ["/path/to/mcp_server.py"],
      "env": {
        "KLAR_API_URL": "https://kb.zaltrix.org",
        "KLAR_API_KEY": "sk-ваш_ключ"
      }
    }
  }
}

Доступные инструменты

ИнструментОписание
ask(query, session_id?)Задать вопрос по базе знаний. session_id для продолжения диалога
feedback(session_id, rating)Оценить ответ (like/dislike)
AI-агент автоматически использует контекст диалога через session_id — каждый следующий вопрос учитывает предыдущие ответы.

11. REST API

EndpointМетодОписание
/api/searchGETГибридный поиск (FTS + vector) с ответом LLM
/api/askPOSTВопрос-ответ (JSON: query)
/api/twinPOSTВопрос эксперту (JSON: expert, query, context)
/api/upload-filePOSTЗагрузка файла (multipart)
/api/ingestPOSTЗагрузка текста (JSON: text, source, url)
/api/web-importPOSTИмпорт с сайта (JSON: url)
/api/itemsGETСписок документов/entity
/api/expertsGET/POSTУправление экспертами
/api/faqGET/POST/DELETEБыстрые ответы (FAQ)
/api/chat/sessionsGET/DELETEУправление диалогами
/api/analyticsGETАналитика (запросы, ответы, feedback)
/api/monitoring/runPOSTЗапуск мониторинга
/api/analyzePOSTЗапуск анализа (инсайты)
/api/lintPOSTЗапуск линтера
/api/export/idea-filePOSTГенерация идея-файла
/api/settingsGET/POSTНастройки системы
/api/promptsGET/POSTРедактирование промптов