feat(stack): drop qdrant and embedding-server, use OmniRoute's built-in memory
OmniRoute's memory feature is self-contained: its bundled sqlite-vec vector store plus a local ONNX embedding model (Transformers.js, ~400MB, fetched into the omniroute-data volume on first use) replace the external qdrant + bge-small-en-v1.5 embedding-server pair, which was never wired up in the dashboard. Two fewer containers, no second GGUF download, no EMBEDDING_MODEL_FILE var. Memory stays opt-in via the dashboard (Settings -> Memory, transformers source); nothing here changes the gateway's static config.
This commit is contained in:
+1
-47
@@ -54,50 +54,7 @@ services:
|
||||
test -f /models/${LLAMA_MODEL_FILE:-Qwen3.8-27B-UD-Q4_K_XL.gguf} &&
|
||||
echo "already downloaded, skipping" ||
|
||||
curl -L --fail --create-dirs -o /models/${LLAMA_MODEL_FILE:-Qwen3.8-27B-UD-Q4_K_XL.gguf}
|
||||
https://huggingface.co/unsloth/Qwen3.8-27B-GGUF/resolve/main/${LLAMA_MODEL_FILE:-Qwen3.8-27B-UD-Q4_K_XL.gguf};
|
||||
test -f /models/${EMBEDDING_MODEL_FILE:-bge-small-en-v1.5-q8_0.gguf} &&
|
||||
echo "already downloaded, skipping" ||
|
||||
curl -L --fail --create-dirs -o /models/${EMBEDDING_MODEL_FILE:-bge-small-en-v1.5-q8_0.gguf}
|
||||
https://huggingface.co/ggml-org/bge-small-en-v1.5-Q8_0-GGUF/resolve/main/${EMBEDDING_MODEL_FILE:-bge-small-en-v1.5-q8_0.gguf}
|
||||
|
||||
# Dedicated embedding model for OmniRoute's memory feature. llama.cpp loads
|
||||
# one model per process and the already-running Qwen3.8-27B chat model
|
||||
# isn't embedding-trained, so this is a second, separate llama-server
|
||||
# instance rather than adding --embeddings to the chat one — see
|
||||
# docs/research/litellm-knowledgebase.md #3. bge-small-en-v1.5 outputs
|
||||
# 384-dim vectors — use that as the Qdrant collection size.
|
||||
# ponytail: CPU image, no GPU devices — a 33M-param embedding model is
|
||||
# fast enough on CPU and this avoids VRAM contention with llama-server's
|
||||
# 27B chat model on the same GPU.
|
||||
embedding-server:
|
||||
image: ghcr.io/ggml-org/llama.cpp:server
|
||||
container_name: embedding-server
|
||||
volumes:
|
||||
- models:/models
|
||||
command: >
|
||||
-m /models/${EMBEDDING_MODEL_FILE:-bge-small-en-v1.5-q8_0.gguf}
|
||||
--host 0.0.0.0
|
||||
--port 8081
|
||||
--embeddings
|
||||
--pooling mean
|
||||
restart: unless-stopped
|
||||
networks: [ai-stack]
|
||||
|
||||
# Vector store for OmniRoute's memory feature — wired up in the OmniRoute
|
||||
# dashboard as a memory service, not via static config here. Not published
|
||||
# to the host: only OmniRoute (same ai-stack network) talks to it.
|
||||
qdrant:
|
||||
image: qdrant/qdrant:latest
|
||||
container_name: qdrant
|
||||
volumes:
|
||||
- qdrant-data:/qdrant/storage
|
||||
restart: unless-stopped
|
||||
networks: [ai-stack]
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "bash -c 'exec 3<>/dev/tcp/localhost/6333'"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
https://huggingface.co/unsloth/Qwen3.8-27B-GGUF/resolve/main/${LLAMA_MODEL_FILE:-Qwen3.8-27B-UD-Q4_K_XL.gguf}
|
||||
|
||||
# Replaces litellm — see issue #31 (wayfinder map) for the full migration
|
||||
# rationale/findings. No static config.yaml equivalent: provider routing
|
||||
@@ -110,8 +67,6 @@ services:
|
||||
depends_on:
|
||||
llama-server:
|
||||
condition: service_started
|
||||
qdrant:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- omniroute-data:/app/data
|
||||
env_file: .env
|
||||
@@ -191,4 +146,3 @@ networks:
|
||||
volumes:
|
||||
models:
|
||||
omniroute-data:
|
||||
qdrant-data:
|
||||
|
||||
Reference in New Issue
Block a user