Skip to main content

MemMachine Configuration

MemMachine’s configuration is managed through a cfg.yml file, which allows for fine-tuning various aspects of the system. The new configuration structure, introduced in v0.2, emphasizes modularity and centralized resource definitions, making it easier to manage and scale your memory solutions. All configuration items are organized under top-level keys in the cfg.yml file. References between components are made using string IDs, promoting reusability and clarity. To see a complete example of a potential cfg.yml file, check out GPU-based Sample Config File.

Configuration Sections

Manages the path, format, and level of application logging.
Parameters:
Configuration for the database storing raw episode data.
Parameters:
Configuration for the episodic memory service, which handles event-based memories.
Parameter Descriptions:
Configuration for optional top-level retrieval-agent orchestration used by episodic search when agent_mode=true.
Parameter Descriptions:
Configuration for the semantic memory service, which handles declarative, knowledge-based memories.
Parameters:
Configuration for the session management database.
Parameters:
API server host and port configuration.
Parameters:
Manages the default prompts used by semantic memory for organization and summarization.
Parameter Description:
This section centralizes the definitions of various external resources, which can then be referenced by ID in other parts of the configuration.

Databases

Defines connections to various database backends. Relational and graph databases store structured memory data; VectorStore providers such as Qdrant, Milvus, SQLiteVectorStore, and SQLiteVec back event-memory and vector-backed semantic-memory indexes.
Parameter Descriptions:

Embedders

Defines various embedding models, which can be used to generate vector representations of text.
Parameter Descriptions:

Language Models

Defines various language models for tasks like summarization and generation.
Parameters for each language model ID (openai_model, aws_model, ollama_model):

Rerankers

Defines various reranking strategies used to reorder search results for improved relevance.
Parameter Descriptions:

Proxy Configuration

If you are deploying MemMachine behind a corporate proxy, you may need to configure it to route traffic through your proxy server and trust custom Certificate Authorities (CAs).

Docker Compose

To configure proxies in a Docker Compose setup, add the HTTP_PROXY, HTTPS_PROXY, and SSL_CERT_FILE environment variables to your service definitions. You may also need to mount a custom CA certificate if your proxy performs SSL inspection. d For an end-to-end example, see sample_configs/env.dockercompose in this repository. The file contains environment settings you can source together with your own docker-compose.yml file. Add the following to your docker-compose.yml for the memmachine service:

Standard Installation (Pip/Source)

If you are running MemMachine directly on your host machine (e.g., using pip or from source), simply export the standard environment variables before starting the application.