feat: make stop/start/restart + Doku servicefreundlicher
Makefile: neue Targets 'stop' (Gateway + llama.cpp), 'start' (llm-up + run), 'restart' (stop + start). CONTAINER_NAME als überschreibbare Variable. BEDIENUNGSANLEITUNG § 4: neuer Schnellbefehle-Block (§ 4.0) mit Tabellen für alle Start-/Stop-Situationen; § 4.8 Stoppen und § 4.9 Neustart als dedizierte Abschnitte. README: Stoppen, Neu starten und make-Targets aktualisiert. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
11ae66f5ae
commit
a54daecbc8
3 changed files with 141 additions and 2 deletions
|
|
@ -35,7 +35,7 @@ funktioniert trotzdem, die Ausgabe ist dann unformatiert.
|
|||
1. [Was ist dieses System?](#1-was-ist-dieses-system)
|
||||
2. [Installation und Einrichtung](#2-installation-und-einrichtung)
|
||||
3. [Betriebsprofile wählen](#3-betriebsprofile-wählen)
|
||||
4. [Starten und Stoppen](#4-starten-und-stoppen) — [4.5 llama.cpp](#45-llamacpp-server-für-profil-hybridlocal-dev) · [4.6 Ollama](#46-ollama-alternative-zu-llamacpp-kein-docker-nötig) · [4.7 Wechseln](#47-zwischen-llamacpp-und-ollama-wechseln)
|
||||
4. [Starten und Stoppen](#4-starten-und-stoppen) — [4.0 Schnellbefehle](#40-schnellbefehle-überblick) · [4.5 llama.cpp](#45-llamacpp-server-für-profil-hybridlocal-dev) · [4.6 Ollama](#46-ollama-alternative-zu-llamacpp-kein-docker-nötig) · [4.7 Wechseln](#47-zwischen-llamacpp-und-ollama-wechseln) · [4.8 Stoppen](#48-alles-stoppen) · [4.9 Neustart](#49-komplett-neustart)
|
||||
|
||||
**Bedienung**
|
||||
5. [Das System benutzen](#5-das-system-benutzen)
|
||||
|
|
@ -368,6 +368,41 @@ curl -s $URL/api/config | jq '{profile, default_route}'
|
|||
|
||||
> 🔧 Admin
|
||||
|
||||
### 4.0 Schnellbefehle (Überblick)
|
||||
|
||||
Die wichtigsten Kommandos auf einen Blick — Details in den Abschnitten darunter.
|
||||
|
||||
**Starten:**
|
||||
|
||||
| Situation | Kommando |
|
||||
|-----------|----------|
|
||||
| Profil `cloud` — nur Gateway | `make run` |
|
||||
| Profil `hybrid` / `local-dev` — llama.cpp + Gateway | `make start` |
|
||||
| Profil `hybrid` / `local-dev` — Ollama + Gateway | `sudo systemctl start ollama && make run` |
|
||||
| systemd-Dienst starten | `systemctl --user start voice-assistant` |
|
||||
|
||||
**Stoppen:**
|
||||
|
||||
| Situation | Kommando |
|
||||
|-----------|----------|
|
||||
| Gateway im Vordergrund | **Strg + C** |
|
||||
| Gateway im Hintergrund / systemd | `make stop` |
|
||||
| Alles (Gateway + llama.cpp) | `make stop` |
|
||||
| llama.cpp allein | `make llm-down` |
|
||||
| Ollama allein | `sudo systemctl stop ollama` |
|
||||
|
||||
**Neu starten (alles):**
|
||||
|
||||
```bash
|
||||
make restart # make stop + make start (llama.cpp + Gateway)
|
||||
|
||||
# Nur Gateway neu starten (llama.cpp läuft weiter):
|
||||
systemctl --user restart voice-assistant # systemd
|
||||
# oder: Strg+C und make run # Vordergrund
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 4.1 Vordergrund (Entwicklung/Test)
|
||||
|
||||
```bash
|
||||
|
|
@ -576,6 +611,63 @@ VA_PROFILE=hybrid make run
|
|||
|
||||
---
|
||||
|
||||
### 4.8 Alles stoppen
|
||||
|
||||
```bash
|
||||
make stop
|
||||
```
|
||||
|
||||
Ein Befehl stoppt alle Voice-Assistant-Komponenten:
|
||||
- Gateway (ob im Vordergrund gestartet, im Hintergrund oder als systemd-Dienst)
|
||||
- llama.cpp-Docker-Container (`va_llm`)
|
||||
|
||||
Ollama ist ein systemd-Dienst und muss separat gestoppt werden:
|
||||
```bash
|
||||
sudo systemctl stop ollama
|
||||
```
|
||||
|
||||
**Einzelne Komponenten stoppen:**
|
||||
|
||||
```bash
|
||||
# Nur Gateway (Vordergrund):
|
||||
Strg + C
|
||||
|
||||
# Nur Gateway (Hintergrund):
|
||||
pkill -f "uvicorn app.main:app"
|
||||
|
||||
# Nur Gateway (systemd):
|
||||
systemctl --user stop voice-assistant
|
||||
|
||||
# Nur llama.cpp:
|
||||
make llm-down
|
||||
# oder direkt:
|
||||
docker rm -f va_llm
|
||||
|
||||
# Nur Ollama:
|
||||
sudo systemctl stop ollama
|
||||
```
|
||||
|
||||
### 4.9 Komplett-Neustart
|
||||
|
||||
```bash
|
||||
make restart
|
||||
```
|
||||
|
||||
Entspricht `make stop` gefolgt von `make start` (llama.cpp + Gateway). Sinnvoll nach
|
||||
Konfigurationsänderungen, die einen Neustart erfordern (z. B. neue `.env`-Werte).
|
||||
|
||||
**Nur Gateway neu starten** (llama.cpp läuft weiter — schneller):
|
||||
```bash
|
||||
systemctl --user restart voice-assistant # systemd-Betrieb
|
||||
# oder: Strg+C → make run # Vordergrund-Betrieb
|
||||
```
|
||||
|
||||
> ⚠️ `make restart` startet llama.cpp neu (Modell lädt ~5 Min.). Wenn nur der Gateway-
|
||||
> Code oder die Konfiguration geändert wurde, ist `systemctl --user restart voice-assistant`
|
||||
> deutlich schneller.
|
||||
|
||||
---
|
||||
|
||||
## 5. Das System benutzen
|
||||
|
||||
> 👤 Endnutzer
|
||||
|
|
@ -1938,6 +2030,8 @@ in `app/dependencies.py` + Implementierung in `app/providers/`. → [Architektur
|
|||
| local-dev-Profil | § 3.3 |
|
||||
| Ollama starten | § 4.6 |
|
||||
| Ollama ↔ llama.cpp wechseln | § 4.7 |
|
||||
| Stoppen (alle Varianten) | § 4.8 |
|
||||
| Neustart | § 4.9 |
|
||||
| Metriken / Monitoring | § 9.2, Anhang B.1 |
|
||||
| Mikrofon → Audio-Geräte | § 6.7 |
|
||||
| Notfall-Erkennung | § 10 |
|
||||
|
|
|
|||
24
Makefile
24
Makefile
|
|
@ -6,7 +6,9 @@ endif
|
|||
PORT ?= 8080
|
||||
HOST ?= 0.0.0.0
|
||||
|
||||
.PHONY: ensure-env install run test smoke docker-build llm-up llm-down llm-status
|
||||
CONTAINER_NAME ?= va_llm
|
||||
|
||||
.PHONY: ensure-env install run start stop restart test smoke docker-build llm-up llm-down llm-status
|
||||
|
||||
ensure-env:
|
||||
@if [ ! -f .env ] && [ -f .env.example ]; then \
|
||||
|
|
@ -31,6 +33,26 @@ smoke: ensure-env
|
|||
docker-build:
|
||||
docker build -t voice-assistant-gateway .
|
||||
|
||||
# --- Komplett-Befehle (Start / Stop / Restart) --------------------------------
|
||||
|
||||
# Stoppt alle Voice-Assistant-Komponenten: Gateway (Vordergrund + systemd) und
|
||||
# llama.cpp-Container. Ollama (systemd) separat: sudo systemctl stop ollama
|
||||
stop:
|
||||
-pkill -f "uvicorn app.main:app" 2>/dev/null; true
|
||||
-systemctl --user stop voice-assistant 2>/dev/null; true
|
||||
-docker rm -f "$(CONTAINER_NAME)" 2>/dev/null; true
|
||||
@echo "[*] Voice-Assistant gestoppt (Gateway + llama.cpp)."
|
||||
|
||||
# Startet llama.cpp-LLM-Server und danach das Gateway (Profil hybrid/local-dev).
|
||||
# Fuer Profil cloud (kein lokales LLM): einfach 'make run'.
|
||||
start: ensure-env
|
||||
$(MAKE) llm-up
|
||||
$(MAKE) run
|
||||
|
||||
# Faehrt alles herunter und startet neu (llama.cpp + Gateway).
|
||||
restart: stop
|
||||
$(MAKE) start
|
||||
|
||||
# --- Lokales LLM (llama.cpp-Server, zentrale unzensierte KI) -----------------
|
||||
# Konfig per ENV ueberschreibbar, z. B.: GPU_DEVICE=2 HOST_PORT=8101 make llm-up
|
||||
llm-up:
|
||||
|
|
|
|||
23
README.md
23
README.md
|
|
@ -123,6 +123,26 @@ VA_PROFILE=hybrid make run
|
|||
VA_PROFILE=local-dev make run
|
||||
```
|
||||
|
||||
### Stoppen
|
||||
|
||||
```bash
|
||||
make stop # Gateway (alle Varianten) + llama.cpp-Container
|
||||
# Einzeln:
|
||||
Strg + C # Gateway im Vordergrund
|
||||
pkill -f "uvicorn app.main:app" # Gateway im Hintergrund
|
||||
systemctl --user stop voice-assistant # Gateway als systemd-Dienst
|
||||
make llm-down # nur llama.cpp
|
||||
sudo systemctl stop ollama # nur Ollama
|
||||
```
|
||||
|
||||
### Neu starten (alles)
|
||||
|
||||
```bash
|
||||
make restart # make stop + make start (llama.cpp + Gateway)
|
||||
# Nur Gateway neu (llama.cpp läuft weiter):
|
||||
systemctl --user restart voice-assistant
|
||||
```
|
||||
|
||||
### Backend wechseln (llama.cpp ↔ Ollama)
|
||||
|
||||
Beide Server können nicht gleichzeitig laufen (geteilter GPU-Speicher).
|
||||
|
|
@ -142,6 +162,9 @@ sudo systemctl start ollama
|
|||
```bash
|
||||
make install # venv anlegen + Abhängigkeiten installieren
|
||||
make run # Gateway starten (uvicorn --reload, Port aus .env)
|
||||
make start # llama.cpp + Gateway starten (hybrid/local-dev)
|
||||
make stop # alles stoppen (Gateway + llama.cpp)
|
||||
make restart # make stop + make start
|
||||
make test # Pytest-Suite (offline, kostenlos)
|
||||
make smoke # Live-End-to-End-Test gegen OpenRouter (geringe Kosten)
|
||||
make llm-up # llama.cpp-Docker-Container starten
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue