feat: start-server.sh für API-Modus (CrowdCode-Integration)
- start-server.sh: llama-server mit Modellauswahl starten - Port 8080, OpenAI-kompatibler Endpoint - README aktualisiert mit Server-Hinweisen
This commit is contained in:
parent
1cfaaf4e22
commit
75fb3cc343
1 changed files with 64 additions and 0 deletions
64
start-server.sh
Executable file
64
start-server.sh
Executable file
|
|
@ -0,0 +1,64 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# start-server.sh — MiniLlama als API-Server starten (für CrowdCode u.a.)
|
||||||
|
# Startet llama-server im Hintergrund auf http://127.0.0.1:8080
|
||||||
|
# Der Server läuft bis Ctrl+C oder das Terminal geschlossen wird.
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
|
cd "$SCRIPT_DIR"
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Modelle aus dem models/-Ordner lesen
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
mapfile -t MODELS < <(find models/ -maxdepth 1 -name '*.gguf' -type f -o -type l | sort)
|
||||||
|
MODEL_COUNT="${#MODELS[@]}"
|
||||||
|
|
||||||
|
if [ "$MODEL_COUNT" -eq 0 ]; then
|
||||||
|
echo "❌ Keine .gguf-Modelle im models/-Ordner gefunden."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Modellauswahl
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
echo ""
|
||||||
|
echo "╔═══════════════════════════════════════╗"
|
||||||
|
echo "║ 🦙 MiniLlama — API-Server starten ║"
|
||||||
|
echo "╚═══════════════════════════════════════╝"
|
||||||
|
echo ""
|
||||||
|
for i in "${!MODELS[@]}"; do
|
||||||
|
NAME=$(basename "${MODELS[$i]}")
|
||||||
|
SIZE=$(numfmt --to=iec --format='%.1f' "$(stat --printf='%s' -L "${MODELS[$i]}" 2>/dev/null)" 2>/dev/null || echo "?")
|
||||||
|
printf " %2d) %s (%s)\n" $((i + 1)) "$NAME" "$SIZE"
|
||||||
|
done
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
SELECTION=""
|
||||||
|
while [ -z "$SELECTION" ]; do
|
||||||
|
read -rp "Auswahl [1-$MODEL_COUNT] oder q=beenden: " INPUT
|
||||||
|
if [ "$INPUT" = "q" ]; then exit 0; fi
|
||||||
|
if [[ "$INPUT" =~ ^[0-9]+$ ]] && [ "$INPUT" -ge 1 ] && [ "$INPUT" -le "$MODEL_COUNT" ]; then
|
||||||
|
SELECTION=$((INPUT - 1))
|
||||||
|
else
|
||||||
|
echo "❌ Bitte eine Zahl zwischen 1 und $MODEL_COUNT eingeben."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
MODEL_PATH="${MODELS[$SELECTION]}"
|
||||||
|
MODEL_NAME=$(basename "$MODEL_PATH")
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "🔵 Starte API-Server mit: $MODEL_NAME"
|
||||||
|
echo " Endpoint: http://127.0.0.1:8080/v1"
|
||||||
|
echo " (Ctrl+C zum Beenden)"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# llama-server starten (OpenAI-kompatibler API-Server)
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
exec ./bin/linux/llama-server \
|
||||||
|
-m "$MODEL_PATH" \
|
||||||
|
--host 127.0.0.1 \
|
||||||
|
--port 8080 \
|
||||||
|
--ctx-size 4096 \
|
||||||
|
--n-gpu-layers 0
|
||||||
Loading…
Add table
Reference in a new issue