Настройка
Задайте параметры в файле 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_PORT | 5432 |
MNEMOS_DATABASE_USER | mnemos |
MNEMOS_DATABASE_NAME | mnemos |
MNEMOS_DATABASE_SSLMODE | disable |
MNEMOS_DATABASE_MAX_CONNS | 8 |
Чтобы задать подключение одной строкой, используйте MNEMOS_DATABASE_DSN
вместо отдельных параметров базы.
Пользователю базы нужны права на создание расширений vector, pg_trgm
и btree_gist. Они устанавливаются при первом запуске.
Эмбеддинги
| переменная | по умолчанию |
|---|---|
MNEMOS_EMBEDDINGS_BASE_URL | нет — обязательна |
MNEMOS_EMBEDDINGS_MODEL | bge-m3 |
MNEMOS_EMBEDDINGS_DIMENSIONS | 1024 |
MNEMOS_EMBEDDINGS_API_KEY | ollama |
MNEMOS_EMBEDDINGS_TIMEOUT | 30s |
MNEMOS_EMBEDDINGS_MAX_CHARS | 8000 |
Используйте сервис с API /v1/embeddings и размерностью 1024.
Примеры для Ollama и OpenAI.
Сервер
| переменная | по умолчанию |
|---|---|
MNEMOS_SERVER_ADDR | :8090 |
MNEMOS_LOG_LEVEL | info |
MNEMOS_LOG_FORMAT | json |
MNEMOS_OBSERVABILITY_METRICS_ENABLED | true |
Очередь эмбеддингов
| переменная | по умолчанию |
|---|---|
MNEMOS_EMBED_QUEUE_WORKERS | 0 |
MNEMOS_EMBED_QUEUE_DEPTH | 1024 |
MNEMOS_EMBED_QUEUE_SWEEP_LIMIT | 500 |
MNEMOS_EMBED_QUEUE_SWEEP_INTERVAL | 15m |
При MNEMOS_EMBED_QUEUE_WORKERS=0 обработка выполняется во время записи.
Значение 2 и выше включает фоновую обработку части данных. Такие записи
появляются в поиске по смыслу после обработки.
Обработка старых записей
| переменная | по умолчанию |
|---|---|
MNEMOS_CONSOLIDATE_ENABLED | true |
MNEMOS_CONSOLIDATE_INTERVAL | 15m |
MNEMOS_CONSOLIDATE_DECAY_HALF_LIFE | 30d |
MNEMOS_CONSOLIDATE_DECAY_FLOOR | 0.05 |
MNEMOS_CONSOLIDATE_DEDUP_SIMILARITY | 0.9 |
MNEMOS_CONSOLIDATE_DECAY_HALF_LIFE задаёт период, за который значимость
неиспользуемой записи уменьшается вдвое.
:::warning Один экземпляр на базу
Запускайте один MCP-сервер на базу данных. Для отдельного HTTP API
используйте сервис api из примера установки.
:::
Поиск
| переменная | по умолчанию |
|---|---|
MNEMOS_RECALL_MIN_SIMILARITY | 0.45 |
MNEMOS_RECALL_MAX_QUERIES | 6 |
MNEMOS_RECALL_MAX_FACTS_PER_SOURCE | 2 |
MNEMOS_RECALL_MAX_FACTS_PER_RELATION | 3 |
MNEMOS_RECALL_HOP_DEPTH | 2 |
MNEMOS_RECALL_IMPORTANCE_WEIGHT | 0.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.