Initial snapshot before transformerlab recovery

This commit is contained in:
Codex
2026-03-31 13:25:25 -06:00
commit d860318d43
49 changed files with 3864 additions and 0 deletions
@@ -0,0 +1,46 @@
#!/usr/bin/env bash
set -euo pipefail
# Wiki update script - runs as student user
# This script clones or updates the wiki repository
REPO_URL="${WIKI_REPO_URL:-https://git.zuccaro.me/bzuccaro/LLM-Labs.git}"
WIKI_DIR="${HOME}/wiki"
STUDENT_USER="${SUDO_USER:-student}"
run_as_student() {
sudo -u "$STUDENT_USER" -- "$@"
}
if [ -d "$WIKI_DIR/.git" ]; then
echo "Updating existing wiki..."
run_as_student git -C "$WIKI_DIR" pull --ff-only
else
echo "Cloning wiki repository..."
tmp_dir=$(mktemp /tmp/wiki.clone.XXXXXX)
chown "$STUDENT_USER:$STUDENT_USER" "$tmp_dir"
rmdir "$tmp_dir"
run_as_student git clone "$REPO_URL" "$tmp_dir"
# Preserve node_modules and .next if they exist
if [ -d "$WIKI_DIR/node_modules" ] && [ ! -e "$tmp_dir/node_modules" ]; then
mv "$WIKI_DIR/node_modules" "$tmp_dir/node_modules"
fi
if [ -d "$WIKI_DIR/.next" ] && [ ! -e "$tmp_dir/.next" ]; then
mv "$WIKI_DIR/.next" "$tmp_dir/.next"
fi
rm -rf "$WIKI_DIR"
mv "$tmp_dir" "$WIKI_DIR"
chown -R "$STUDENT_USER:$STUDENT_USER" "$WIKI_DIR"
fi
# Install dependencies if needed
if [ ! -d "$WIKI_DIR/node_modules" ]; then
echo "Installing wiki dependencies..."
run_as_student bash -lc "cd '$WIKI_DIR' && npm install --no-fund --no-audit"
fi
echo "Wiki updated successfully!"
+135
View File
@@ -0,0 +1,135 @@
---
# Lab start scripts setup
- name: Create lab1 start script (Transformer Lab)
ansible.builtin.copy:
dest: "{{ llmlab_base }}/lab1/start.sh"
content: |
#!/bin/bash
set -e
export NUMPY_DISABLE_OPTIMIZATION_CHECK=1
source "{{ llmlab_base }}/.transformerlab/miniforge3/etc/profile.d/conda.sh"
conda activate transformerlab
cd "{{ llmlab_base }}/.transformerlab/src"
./run.sh
mode: '0755'
force: no
- name: Create lab2 start script (Ollama)
ansible.builtin.copy:
dest: "{{ llmlab_base }}/lab2/start.sh"
content: |
#!/bin/bash
set -e
echo "Starting Ollama..."
# Check if already running
if pgrep -f "ollama serve" > /dev/null; then
echo "Ollama is already running."
exit 0
fi
# Start Ollama
nohup ollama serve > {{ llmlab_base }}/.llmlab/logs/ollama.log 2>&1 &
echo "Ollama started (PID: $!)"
echo "Ollama is available at http://localhost:11434"
mode: '0755'
force: no
- name: Create lab3 start script (Open WebUI)
ansible.builtin.copy:
dest: "{{ llmlab_base }}/lab3/start.sh"
content: |
#!/bin/bash
set -e
export OPEN_WEBUI_PORT=8080
export OPEN_WEBUI_HOST=0.0.0.0
# Check if already running
if pgrep -f "open-webui serve" > /dev/null; then
echo "Open WebUI is already running."
exit 0
fi
# Start Open WebUI
nohup open-webui serve \
--port ${OPEN_WEBUI_PORT} \
--host ${OPEN_WEBUI_HOST} \
> {{ llmlab_base }}/.llmlab/logs/open-webui.log 2>&1 &
echo "Open WebUI started on http://${OPEN_WEBUI_HOST}:${OPEN_WEBUI_PORT}"
echo "PID: $!"
mode: '0755'
force: no
- name: Create lab4 start script (ChunkViz)
ansible.builtin.copy:
dest: "{{ llmlab_base }}/lab4/start.sh"
content: |
#!/bin/bash
set -e
CHUNKVIZ_PORT=${PORT:-3001}
# Start ChunkViz in background
cd "{{ llmlab_base }}/lab4/ChunkViz"
nohup npm start > {{ llmlab_base }}/.llmlab/logs/chunkviz.log 2>&1 &
CHUNKVIZ_PID=$!
echo "ChunkViz started on http://0.0.0.0:${CHUNKVIZ_PORT}"
echo "PID: ${CHUNKVIZ_PID}"
mode: '0755'
force: no
- name: Create lab5 start script (Promptfoo)
ansible.builtin.copy:
dest: "{{ llmlab_base }}/lab6/start.sh"
content: |
#!/bin/bash
set -e
cd "{{ llmlab_base }}/lab6"
# Run Promptfoo evaluation
npx promptfoo eval -c promptfoo.yaml
mode: '0755'
force: no
- name: Create lab stop scripts
ansible.builtin.copy:
dest: "{{ llmlab_base }}/lab{{ item }}/stop.sh"
content: |
#!/bin/bash
set -e
echo "Stopping Lab {{ item }}..."
case "{{ item }}" in
1)
pkill -f "transformerlab.*run.sh" 2>/dev/null || true
;;
2)
pkill -f "ollama serve" 2>/dev/null || true
;;
3)
pkill -f "open-webui" 2>/dev/null || true
;;
4)
pkill -f "ChunkViz" 2>/dev/null || true
;;
5)
pkill -f "promptfoo" 2>/dev/null || true
;;
esac
echo "Lab {{ item }} stopped."
mode: '0755'
loop: [1, 2, 3, 4, 5]
- name: Display lab scripts creation
ansible.builtin.debug:
msg: "All lab start/stop scripts created in {{ llmlab_base }}/"