Files
TheaninovOS/modules/nixos/usecases/localai_trace.sh
T
2026-10-04 13:08:43 +02:00

54 lines
1.6 KiB
Bash

#!/usr/bin/env sh
mkdir -p "$TRACE_DIR"
if ! command -v "$BIN" >/dev/null 2>&1; then
echo "[ERROR] missing binary $BIN"
exit 1
fi
echo "[INFO] Using binary: $(command -v "$BIN")"
echo "[INFO] Starting Coding Trace 1/2"
MOE_TRACE_OUT="$TRACE_DIR/trace-code.csv" "$BIN" \
--model "/mnt/llms/Qwen3.8-Flash/Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00001-of-00002.gguf" \
--threads 6 \
--n-gpu-layers 99 \
--n-cpu-moe 99 \
--load-mode "mmap" \
--flash-attn "on" \
--fit "off" \
--no-sched-async-cpu \
--cache-type-k "q8_0" \
--cache-type-v "q8_0" \
--ctx-size 131072 \
--batch-size 2048 \
--ubatch-size 512 \
--prompt "Write a Zig (any version) implementation of an LRU cache with O(1) operations, then explain the memory layout in detail."
echo "[INFO] Starting Conversation Trace 2/2"
MOE_TRACE_OUT="$TRACE_DIR/trace-chat.csv" "$BIN" \
--model "/mnt/llms/Qwen3.8-Flash/Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00001-of-00002.gguf" \
--threads 6 \
--n-gpu-layers 99 \
--n-cpu-moe 99 \
--load-mode "mmap" \
--flash-attn "on" \
--fit "off" \
--no-sched-async-cpu \
--cache-type-k "q8_0" \
--cache-type-v "q8_0" \
--ctx-size 131072 \
--batch-size 2048 \
--ubatch-size 512 \
-p "Analyze the trade-offs between monolithic and microkernel architectures from first principles."
echo "[INFO] Merging Traces..."
cat "$TRACE_DIR/trace-code.csv" "$TRACE_DIR/trace-chat.csv" >"$TRACE_DIR/qwen-merged.csv"
if [ -s "$TRACE_DIR/qwen-merged.csv" ]; then
echo "[SUCCESS] Generated MoE Profile: $TRACE_DIR/qwen-merged.csv"
head -n 5 "$TRACE_DIR/qwen-merged.csv"
else
echo "[ERROR] Trace file is empty! Check if the binary supports MOE_TRACE_OUT."
fi