refactor(docker): split requirements by role, slim enterprise bundle by default
Split requirements.txt into role-specific files: - requirements-backend.txt — FastAPI API runtime - requirements-agent.txt — Gradio/LangGraph agent (no embeddings) - requirements-embeddings.txt — opt-in sentence-transformers Default enterprise bundle (./build.sh bundle) builds slim agent without sentence-transformers/torch (~500 MB saved). Embeddings opt-in via ./build.sh bundle:embeddings <tag>. Embedding router degrades gracefully when package is absent (ImportError catch in _embedding_router.py). Updated Dockerfiles: - backend.Dockerfile → requirements-backend.txt - Dockerfile.agent → requirements-agent.txt + WITH_EMBEDDINGS build arg - all-in-one.Dockerfile → requirements-backend.txt Added embeddings variant to build.sh with full manifest/digest output. Hardened .dockerignore (cache, report, model, archive patterns). Other branch work: align git route mocks with async services, remove legacy agent test files superseded by contract tests.
This commit is contained in:
4
backend/requirements-embeddings.txt
Normal file
4
backend/requirements-embeddings.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
# Embedding model for semantic tool routing (large ML deps: torch, transformers, etc.)
|
||||
# This file is OPTIONAL — install only if semantic routing is needed.
|
||||
# See _embedding_router.py: graceful fallback when this package is absent.
|
||||
sentence-transformers>=3.0
|
||||
Reference in New Issue
Block a user