Перейти к основному содержимому

Настройка

Задайте параметры в файле YAML или переменных окружения. Если параметр указан в обоих местах, используется переменная окружения.

Правило именования​

Для переменной окружения замените точки в имени параметра на подчёркивания и добавьте префикс MNEMOS_:

database.password → MNEMOS_DATABASE_PASSWORD
embeddings.base_url → MNEMOS_EMBEDDINGS_BASE_URL
recall.min_similarity → MNEMOS_RECALL_MIN_SIMILARITY
consolidate.decay_half_life → MNEMOS_CONSOLIDATE_DECAY_HALF_LIFE

Обязательные параметры​

переменнаяназначение
MNEMOS_DATABASE_PASSWORDпароль пользователя базы
MNEMOS_AUTH_ISSUER_URLадрес OAuth-сервера
MNEMOS_AUTH_PUBLIC_URLпубличный адрес mnemos

Оба обязательны: режима без авторизации нет, и без них сервер не запустится.

База данных​

переменнаяпо умолчанию
MNEMOS_DATABASE_HOSTнет — обязательна (или MNEMOS_DATABASE_DSN)
MNEMOS_DATABASE_PORT5432
MNEMOS_DATABASE_USERmnemos
MNEMOS_DATABASE_NAMEmnemos
MNEMOS_DATABASE_SSLMODEdisable
MNEMOS_DATABASE_MAX_CONNS8

Чтобы задать подключение одной строкой, используйте MNEMOS_DATABASE_DSN вместо отдельных параметров базы.

Пользователю базы нужны права на создание расширений vector, pg_trgm и btree_gist. Они устанавливаются при первом запуске.

Эмбеддинги​

переменнаяпо умолчанию
MNEMOS_EMBEDDINGS_BASE_URLнет — обязательна
MNEMOS_EMBEDDINGS_MODELbge-m3
MNEMOS_EMBEDDINGS_DIMENSIONS1024
MNEMOS_EMBEDDINGS_API_KEYollama
MNEMOS_EMBEDDINGS_TIMEOUT30s
MNEMOS_EMBEDDINGS_MAX_CHARS8000

Используйте сервис с API /v1/embeddings и размерностью 1024. Примеры для Ollama и OpenAI.

Сервер​

переменнаяпо умолчанию
MNEMOS_SERVER_ADDR:8090
MNEMOS_LOG_LEVELinfo
MNEMOS_LOG_FORMATjson
MNEMOS_OBSERVABILITY_METRICS_ENABLEDtrue

Очередь эмбеддингов​

переменнаяпо умолчанию
MNEMOS_EMBED_QUEUE_WORKERS0
MNEMOS_EMBED_QUEUE_DEPTH1024
MNEMOS_EMBED_QUEUE_SWEEP_LIMIT500
MNEMOS_EMBED_QUEUE_SWEEP_INTERVAL15m

При MNEMOS_EMBED_QUEUE_WORKERS=0 обработка выполняется во время записи. Значение 2 и выше включает фоновую обработку части данных. Такие записи появляются в поиске по смыслу после обработки.

Обработка старых записей​

переменнаяпо умолчанию
MNEMOS_CONSOLIDATE_ENABLEDtrue
MNEMOS_CONSOLIDATE_INTERVAL15m
MNEMOS_CONSOLIDATE_DECAY_HALF_LIFE30d
MNEMOS_CONSOLIDATE_DECAY_FLOOR0.05
MNEMOS_CONSOLIDATE_DEDUP_SIMILARITY0.9

MNEMOS_CONSOLIDATE_DECAY_HALF_LIFE задаёт период, за который значимость неиспользуемой записи уменьшается вдвое.

:::warning Один экземпляр на базу Запускайте один MCP-сервер на базу данных. Для отдельного HTTP API используйте сервис api из примера установки. :::

Поиск​

переменнаяпо умолчанию
MNEMOS_RECALL_MIN_SIMILARITY0.45
MNEMOS_RECALL_MAX_QUERIES6
MNEMOS_RECALL_MAX_FACTS_PER_SOURCE2
MNEMOS_RECALL_MAX_FACTS_PER_RELATION3
MNEMOS_RECALL_HOP_DEPTH2
MNEMOS_RECALL_IMPORTANCE_WEIGHT0.15

Начните со значений по умолчанию. При смене модели проверьте качество поиска на своих запросах.

Файл конфигурации​

Пример YAML:

database:
host: postgres
password: смените-это
embeddings:
base_url: http://ollama:11434/v1
model: bge-m3
dimensions: 1024
auth:
issuer_url: https://auth.example.com
public_url: https://mnemos.example.com
consolidate:
decay_half_life: 30d

Передайте путь к файлу флагом --config.