Конфигурация Файл конфигурации engram.toml и переменные окружения
Engram ищет конфигурацию в следующем порядке:
./engram.toml — текущая директория
~/.engram/engram.toml — домашняя директория
Значения по умолчанию — если файл не найден
Переменные окружения всегда перезаписывают значения из файла.
[ database ]
path = "~/.engram/memories.db"
[ embedding ]
provider = "voyage" # voyage | deterministic
model = "voyage-code-3"
# api_key = "..." # или через ENGRAM_VOYAGE_API_KEY
[ llm ]
provider = "openai" # openai | local
model = "gpt-4o-mini"
# api_key = "..." # или через ENGRAM_OPENAI_API_KEY
[ server ]
socket_path = "~/.engram/engram.sock"
reindex_interval_secs = 3600
[ hnsw ]
max_connections = 16
ef_construction = 200
ef_search = 40
dimension = 1024
[ consolidation ]
stale_days = 90
min_score = 0.3
[ trainer ]
trainer_binary = "engram-trainer"
trainer_timeout_secs = 300
models_path = "~/.engram/models"
Параметр По умолчанию Описание path~/.engram/memories.dbПуть к SQLite базе данных
Параметр По умолчанию Описание providervoyageПровайдер эмбеддингов: voyage или deterministic modelvoyage-code-3Модель эмбеддингов api_key— API-ключ (предпочтительно через переменную окружения) dimension1024Размерность вектора эмбеддинга
Провайдер deterministic не требует API-ключа и генерирует детерминированные эмбеддинги из текста. Подходит для тестирования.
Параметр По умолчанию Описание provideropenaiПровайдер LLM: openai или local modelgpt-4o-miniМодель для генерации текста api_key— API-ключ (предпочтительно через переменную окружения)
Провайдер local использует ONNX-модель из trainer.models_path для локальной генерации без API-вызовов.
Параметр По умолчанию Описание socket_path~/.engram/engram.sockПуть к Unix-сокету сервера reindex_interval_secs3600Интервал переиндексации (секунды, 0 = выключено)
Параметр По умолчанию Описание max_connections16Максимум соединений в графе HNSW ef_construction200Точность при построении индекса ef_search40Точность при поиске dimension1024Размерность векторов (должна совпадать с embedding.dimension)
Параметр По умолчанию Описание stale_days90Порог устаревания записей (дни) min_score0.3Минимальный score для кандидатов консолидации
Параметр По умолчанию Описание trainer_binaryengram-trainerПуть или имя бинарника trainer trainer_timeout_secs300Таймаут выполнения trainer (секунды) models_path~/.engram/modelsДиректория для ONNX-моделей
Переменная Перезаписывает ENGRAM_VOYAGE_API_KEYembedding.api_key (при provider=voyage)ENGRAM_OPENAI_API_KEYllm.api_key (при provider=openai)ENGRAM_DB_PATHdatabase.pathENGRAM_SOCKET_PATHserver.socket_pathENGRAM_EMBEDDING_MODELembedding.modelENGRAM_LLM_MODELllm.modelENGRAM_TRAINER_BINARYtrainer.trainer_binaryENGRAM_TRAINER_TIMEOUTtrainer.trainer_timeout_secsENGRAM_MODELS_PATHtrainer.models_path
~/.engram/
engram.toml # конфигурация
memories.db # SQLite база данных
engram.sock # Unix-сокет сервера
models/ # ONNX-модели trainer
*.hnsw # сериализованные HNSW-индексы
Команда engram init создает директорию ~/.engram/ с конфигурацией по умолчанию и пустой базой данных. Если директория уже существует, init пропускает создание существующих файлов.