mirror of
https://github.com/mindverse/Second-Me.git
synced 2026-07-10 01:38:24 +00:00
* Add CUDA support - CUDA detection - Memory handling - Ollama model release after training * Fix logging issue added cuda support flag so log accurately reflected cuda toggle * Update llama.cpp rebuild Changed llama.cpp to only check if cuda support is enabled and if so rebuild during the first build rather than each run * Improved vram management Enabled memory pinning and optimizer state offload * Fix CUDA check rewrote llama.cpp rebuild logic, added manual y/n toggle if user wants to enable cuda support * Added fast restart and fixed CUDA check command Added make docker-restart-backend-fast to restart the backend and reflect code changes without causing a full llama.cpp rebuild Fixed make docker-check-cuda command to correctly reflect cuda support * Added docker-compose.gpu.yml Added docker-compose.gpu.yml to fix error on machines without nvidia gpu and made sure "\n" is added before .env modification * Fixed cuda toggle Last push accidentally broke cuda toggle * Code review fixes Fixed errors resulting from removed code: - Added return save_path to end of save_hf_model function - Rolled back download_file_with_progress function * Update Makefile Use cuda by default when using docker-restart-backend-fast * Minor cleanup Removed unnecessary makefile command and fixed gpu logging * Delete .gpu_selected * Simplified cuda training code - Removed dtype setting to let torch automatically handle it - Removed vram logging - Removed Unnecessary/old comments * Fixed gpu/cpu selection Made "make docker-use-gpu/cpu" command work with .gpu_selected flag and changed "make docker-restart-backend-fast" command to respect flag instead of always using gpu * Fix Ollama embedding error Added custom exception class for Ollama embeddings, which seemed to be returning keyword arguments while the Python exception class only accepts positional ones * Fixed model selection & memory error Fixed training defaulting to 0.5B model regardless of selection and fixed "free(): double free detected in tcache 2" error caused by cuda flag being passed incorrectly
74 lines
No EOL
1.7 KiB
YAML
74 lines
No EOL
1.7 KiB
YAML
services:
|
|
backend:
|
|
build:
|
|
context: .
|
|
dockerfile: ${DOCKER_BACKEND_DOCKERFILE:-Dockerfile.backend.cuda}
|
|
container_name: second-me-backend
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8002:8002"
|
|
- "8080:8080"
|
|
volumes:
|
|
- ./data:/app/data
|
|
- ./logs:/app/logs
|
|
- ./run:/app/run
|
|
- ./resources:/app/resources
|
|
- ./docker:/app/docker
|
|
- ./.env:/app/.env
|
|
- llama-cpp-build:/app/llama.cpp/build # Persist the llama.cpp build
|
|
environment:
|
|
# Environment variables
|
|
- LOCAL_APP_PORT=8002
|
|
- IN_DOCKER_ENV=1
|
|
- PLATFORM=${PLATFORM:-linux}
|
|
- USE_CUDA=1
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
# Set container memory limit to 64GB
|
|
memory: 64G
|
|
reservations:
|
|
# Memory reservation
|
|
memory: 6G
|
|
devices:
|
|
- driver: nvidia
|
|
count: all
|
|
capabilities: [gpu]
|
|
networks:
|
|
- second-me-network
|
|
|
|
frontend:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.frontend
|
|
container_name: second-me-frontend
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3000:3000"
|
|
volumes:
|
|
- ./logs:/app/logs
|
|
- ./resources:/app/resources
|
|
environment:
|
|
- VITE_API_BASE_URL=http://backend:8002
|
|
depends_on:
|
|
- backend
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
# Set container memory limit to 2GB
|
|
memory: 2G
|
|
reservations:
|
|
# Memory reservation
|
|
memory: 1G
|
|
networks:
|
|
- second-me-network
|
|
|
|
networks:
|
|
second-me-network:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
llama-cpp-build:
|
|
driver: local |