Qwen3.8-27B-IQ1_M-GGUF / AGENTIC_VALIDATION /RUN_AGENTIC_ADAPTER.sh
MarxistLeninist's picture
Add repaired IQ1_M agentic adapter and 6-of-6 validation
b89269a verified
Raw
History Blame Contribute Delete
2.51 kB
#!/usr/bin/env bash
set -Eeuo pipefail
HERE=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
REPO_ROOT=$(cd -- "$HERE/.." && pwd)
MODEL=${MODEL:-"$REPO_ROOT/Qwen3.8-27B-IQ1_M.gguf"}
LLAMA_SERVER=${LLAMA_SERVER:-llama-server}
LLAMA_HOST=${LLAMA_HOST:-127.0.0.1}
LLAMA_PORT=${LLAMA_PORT:-18539}
ADAPTER_HOST=${ADAPTER_HOST:-127.0.0.1}
ADAPTER_PORT=${ADAPTER_PORT:-18540}
THREADS=${THREADS:-16}
CTX_SIZE=${CTX_SIZE:-1024}
LOG_DIR=${LOG_DIR:-"$HERE/runtime-logs"}
mkdir -p "$LOG_DIR"
[[ -f "$MODEL" ]] || { echo "Model not found: $MODEL" >&2; exit 2; }
command -v "$LLAMA_SERVER" >/dev/null 2>&1 || { echo "llama-server not found: $LLAMA_SERVER" >&2; exit 3; }
command -v python3 >/dev/null 2>&1 || { echo "python3 is required" >&2; exit 4; }
cleanup() {
local rc=$?
[[ -n "${ADAPTER_PID:-}" ]] && kill -TERM "$ADAPTER_PID" 2>/dev/null || true
[[ -n "${LLAMA_PID:-}" ]] && kill -TERM "$LLAMA_PID" 2>/dev/null || true
wait "${ADAPTER_PID:-}" 2>/dev/null || true
wait "${LLAMA_PID:-}" 2>/dev/null || true
exit "$rc"
}
trap cleanup EXIT INT TERM
"$LLAMA_SERVER" \
--model "$MODEL" \
--alias Qwen3.8-27B-IQ1_M-agentic \
--host "$LLAMA_HOST" \
--port "$LLAMA_PORT" \
--threads "$THREADS" \
--threads-batch "$THREADS" \
--ctx-size "$CTX_SIZE" \
--batch-size 512 \
--ubatch-size 128 \
--parallel 1 \
--cache-type-k q4_0 \
--cache-type-v q4_0 \
--jinja \
--reasoning off \
--reasoning-budget 0 \
--no-mmproj \
--cache-ram 0 \
--ctx-checkpoints 0 \
--no-warmup \
>"$LOG_DIR/llama-server.log" 2>&1 &
LLAMA_PID=$!
for _ in $(seq 1 600); do
if curl -fsS --max-time 2 "http://$LLAMA_HOST:$LLAMA_PORT/health" >/dev/null 2>&1; then
break
fi
kill -0 "$LLAMA_PID" 2>/dev/null || { tail -100 "$LOG_DIR/llama-server.log" >&2; exit 5; }
sleep 1
done
curl -fsS --max-time 2 "http://$LLAMA_HOST:$LLAMA_PORT/health" >/dev/null
python3 -u "$HERE/ADAPTER.py" \
--host "$ADAPTER_HOST" \
--port "$ADAPTER_PORT" \
--upstream "http://$LLAMA_HOST:$LLAMA_PORT" \
>"$LOG_DIR/adapter.log" 2>&1 &
ADAPTER_PID=$!
for _ in $(seq 1 60); do
if curl -fsS --max-time 2 "http://$ADAPTER_HOST:$ADAPTER_PORT/health" >/dev/null 2>&1; then
break
fi
kill -0 "$ADAPTER_PID" 2>/dev/null || { tail -100 "$LOG_DIR/adapter.log" >&2; exit 6; }
sleep 1
done
curl -fsS --max-time 2 "http://$ADAPTER_HOST:$ADAPTER_PORT/health" >/dev/null
echo "Agentic OpenAI-compatible endpoint: http://$ADAPTER_HOST:$ADAPTER_PORT/v1/chat/completions"
echo "Logs: $LOG_DIR"
wait "$ADAPTER_PID"