System Requirements & Configuration: Running SynapCores from 2 GB to a full AI box

Published on July 27, 2026

System Requirements & Configuration

SynapCores is a multi-model engine — SQL, vector search, graph, document, AutoML — with optional in-database AI. The only component that needs a lot of RAM is the local chat LLM. The engine itself is light. So your footprint is a choice, not a fixed cost: run everything locally on a workstation, or run vector + graph + ML on a 2 GB VPS and send chat to a cloud model (or skip chat entirely).

Key rule: the embedding model stays in every configuration below — it's tiny (all-minilm, ~45 MB) and it's what powers EMBED(), VECTOR columns and semantic search. What you turn off to save memory is the 4.5 GB chat LLM, not embeddings.

What actually drives the RAM

Feature Needs a model? Footprint
SQL, joins, transactions, triggers, procedures No light
Graph / Cypher / GraphRAG No light
AutoML — train, predict, anomaly detection Its own small CPU models light
Vector storage + COSINE_SIMILARITY on given vectors No light
EMBED() / semantic search / RAG Embedding model (all-minilm, ~45 MB) light
GENERATE(), AGENT_RUN(), AI Chat, NL2SQL Chat LLM (default qwen2.5-coder:7b, ~4.5 GB) heavy

Only the last row is expensive. Everything else — including vector search — runs comfortably in ~2 GB.

Recommended sizing

Mode RAM What you get
Full local AI (default) 8 GB+ Everything offline, incl. local chat/GENERATE/agents
Cloud AI 2 GB Chat/GENERATE via OpenAI/Anthropic/Gemini; vectors local
Vector + ML + Graph (no local chat) 2 GB Semantic search, RAG, graph, AutoML, SQL — no local chat LLM

CPU: any x86-64 with SSE4.2+ (the CE build is portable, no AVX-512 required). Disk: ~1 GB for the engine; +45 MB for the embedding model; +4.5 GB only if you pull the local chat model.

Configuration modes

All settings go in your gateway.toml under [query.ai_service]. API keys always come from environment variables — never put them in the file.

1. Full local AI (default — 8 GB+)

[query.ai_service]
provider        = "local"
model           = "qwen2.5-coder:7b"      # ~4.5 GB local chat LLM
embedding_model = "all-minilm:latest"     # ~45 MB
auto_pull       = true                    # fetches both on first use / warm-on-boot

2. Cloud AI — small box, chat via a provider (2 GB)

Chat and completion go to a cloud API; embeddings stay local so vectors work offline and cheaply.

[query.ai_service]
provider        = "openai"                 # or "anthropic" / "gemini"
model           = "gpt-4o-mini"            # completion via the cloud
embedding_model = "all-minilm:latest"      # embeddings stay local (~45 MB)
auto_pull       = true                     # only the tiny embedding model is pulled
export OPENAI_API_KEY=sk-...               # or ANTHROPIC_API_KEY / GEMINI_API_KEY

(No 4.5 GB chat model is loaded — provider != "local" skips it.)

3. Vector + ML + Graph, no local chat LLM (2 GB) — the small-box default

Keep semantic search, RAG, graph, AutoML and SQL; drop only the heavy chat model.

First pull the embedding model once (with auto_pull = false, nothing is fetched automatically):

synapcores pull all-minilm:latest          # ~45 MB, one time
[query.ai_service]
provider        = "local"
embedding_model = "all-minilm:latest"      # ~45 MB — REQUIRED for vectors
auto_pull       = false                    # do NOT auto-fetch the 4.5 GB chat model

EMBED(), VECTOR search, RAG, graph, AutoML and all SQL work. GENERATE() / AGENT_RUN() / AI Chat return "no chat model" — by design. (Add a cloud provider later if you want chat.)


Explicit recipe: run on a 2 GB Linux box

A step-by-step for a small VPS or edge box that gives you the full engine plus vector/semantic search in ~2 GB, with no 4.5 GB chat model.

# 1. Install SynapCores CE
curl -fsSL https://get.synapcores.com/install.sh | sh

# 2. Pull ONLY the embedding model (~45 MB) — NOT the 4.5 GB chat model
synapcores pull all-minilm:latest

# 3. Write a small-footprint config
sudo tee /etc/synapcores/gateway.toml >/dev/null <<'TOML'
data_dir = "/var/lib/synapcores"

[server]
listen_addr = "0.0.0.0:8080"

[auth]
enabled = true                 # JWT secret via AIDB_JWT_SECRET

[query.ai_service]
provider        = "local"
embedding_model = "all-minilm:latest"   # required for vector search — stays
auto_pull       = false                 # never fetch the 4.5 GB chat model
TOML

# 4. Keep memory down: no chat-model warm-up, informational chat only
sudo systemctl edit synapcores   # add under [Service]:
#   Environment=AIDB_DISABLE_WARMUP=1
#   Environment=AIDB_CHAT_AGENTIC_MODE=false

# 5. Restart
sudo systemctl restart synapcores

What you get on 2 GB: all SQL, graph/Cypher, AutoML train/predict, and full vector/semantic search (EMBED, COSINE_SIMILARITY, RAG). What you don't: local GENERATE() / AGENT_RUN() / AI Chat — add provider = "openai" (Mode 2) if you want those without the local model.

Want local chat too, but still small? Pull a smaller quantized chat model instead of the 7B — e.g. synapcores pull tinyllama:latest (~600 MB), set model = "tinyllama:latest" and auto_pull = true. Fits in ~2–3 GB, lighter quality.

Verifying your footprint

synapcores models list     # lists what's pulled — expect only all-minilm on a small box
curl localhost:8080/version
# EMBED works:
#   SELECT EMBED('hello world') IS NOT NULL;

If synapcores models list shows a 4.5 GB chat model on a box you wanted small, you had auto_pull = true with provider = "local" — set auto_pull = false (Mode 3) and remove it with synapcores models delete qwen2.5-coder:7b.