Instructions to use patdev/k3-a40-bootstrap with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use patdev/k3-a40-bootstrap with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf patdev/k3-a40-bootstrap:BF16 # Run inference directly in the terminal: llama cli -hf patdev/k3-a40-bootstrap:BF16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf patdev/k3-a40-bootstrap:BF16 # Run inference directly in the terminal: llama cli -hf patdev/k3-a40-bootstrap:BF16
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf patdev/k3-a40-bootstrap:BF16 # Run inference directly in the terminal: ./llama-cli -hf patdev/k3-a40-bootstrap:BF16
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf patdev/k3-a40-bootstrap:BF16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf patdev/k3-a40-bootstrap:BF16
Use Docker
docker model run hf.co/patdev/k3-a40-bootstrap:BF16
- LM Studio
- Jan
- Ollama
How to use patdev/k3-a40-bootstrap with Ollama:
ollama run hf.co/patdev/k3-a40-bootstrap:BF16
- Unsloth Desktop
- Docker Model Runner
How to use patdev/k3-a40-bootstrap with Docker Model Runner:
docker model run hf.co/patdev/k3-a40-bootstrap:BF16
- Lemonade
How to use patdev/k3-a40-bootstrap with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull patdev/k3-a40-bootstrap:BF16
Run and chat with the model
lemonade run user.k3-a40-bootstrap-BF16
List all available models
lemonade list
- Atomic Chat
| # Bureau Linux distant sur le pod : Xvfb + x11vnc + noVNC + XFCE, dans le navigateur. | |
| # | |
| # Cette pile n'est pas inventee ici : elle reprend celle du Space patdev/prime, | |
| # deja eprouvee. Les details qui comptent, et pourquoi : | |
| # xfwm4 sans gestionnaire de fenetres, les dialogues modaux ne prennent | |
| # pas le focus et les menus passent derriere leur parent | |
| # dbus-x11 sans bus de session, les applications GTK demarrent tres | |
| # lentement ou refusent de demarrer | |
| # -noxdamage obligatoire avec Xvfb (l'extension DAMAGE y est incomplete) | |
| # -wait/-defer limitation du taux de rafraichissement : rend le bureau | |
| # utilisable a distance au lieu de saturer le lien | |
| # -localhost x11vnc n'ecoute QUE sur la loopback ; tout passe par websockify | |
| # xset s off sinon l'economiseur d'ecran est indistinguable d'un bureau plante | |
| # superviseur XFCE se relance seul s'il meurt, sinon un plantage laisse un | |
| # fond d'ecran vide sans aucun message | |
| # | |
| # websockify sert lui-meme les fichiers noVNC : pas besoin de nginx. | |
| # Le port 6080 est expose en HTTP par Runpod, donc aucun client VNC necessaire. | |
| set -uo pipefail | |
| export DEBIAN_FRONTEND=noninteractive | |
| export DISPLAY="${VL_DESKTOP_DISPLAY:-:1}" | |
| GEO="${VL_DESKTOP_GEO:-1920x1080}" | |
| MDP="${VNC_PASSWORD:-SECRET}" # defaut demande ; VNC_PASSWORD="" pour ouvrir sans mot de passe | |
| LOG=/tmp/desktop.log | |
| log() { echo "[bureau] $(date +%H:%M:%S) $*" | tee -a "$LOG"; } | |
| if ! command -v x11vnc >/dev/null 2>&1; then | |
| log "installation ..." | |
| # x11vnc / novnc / websockify vivent dans "universe" sur Ubuntu | |
| grep -q "^deb .* universe" /etc/apt/sources.list /etc/apt/sources.list.d/* 2>/dev/null \ | |
| || (command -v add-apt-repository >/dev/null 2>&1 && add-apt-repository -y universe >>"$LOG" 2>&1) || true | |
| apt-get update -qq >>"$LOG" 2>&1 | |
| apt-get install -y -qq --no-install-recommends \ | |
| xvfb x11vnc novnc websockify x11-utils x11-xserver-utils xauth dbus-x11 \ | |
| xfwm4 xfce4-session xfce4-panel xfce4-terminal xfdesktop4 xfconf thunar \ | |
| fonts-dejavu-core adwaita-icon-theme \ | |
| >>"$LOG" 2>&1 || { log "ECHEC apt (voir $LOG)"; exit 1; } | |
| log "installation terminee" | |
| else | |
| log "deja installe" | |
| fi | |
| export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/tmp/runtime-root}" | |
| mkdir -p "$XDG_RUNTIME_DIR" && chmod 700 "$XDG_RUNTIME_DIR" | |
| mkdir -p /tmp/.X11-unix && chmod 1777 /tmp/.X11-unix | |
| pkill -f "Xvfb $DISPLAY" 2>/dev/null; pkill -f "x11vnc .*-rfbport 5900" 2>/dev/null | |
| pkill -f "websockify.*6080" 2>/dev/null; pkill -f "bureau_superviseur" 2>/dev/null | |
| sleep 1; rm -f "/tmp/.X11-unix/X${DISPLAY#:}" "/tmp/.X${DISPLAY#:}-lock" 2>/dev/null | |
| log "Xvfb $DISPLAY en ${GEO}x24" | |
| Xvfb "$DISPLAY" -screen 0 "${GEO}x24" -ac +extension GLX +render -noreset >/tmp/xvfb.log 2>&1 & | |
| for _ in $(seq 1 100); do xdpyinfo -display "$DISPLAY" >/dev/null 2>&1 && break; sleep .1; done | |
| xdpyinfo -display "$DISPLAY" >/dev/null 2>&1 || { log "ECHEC : Xvfb ne repond pas"; tail -5 /tmp/xvfb.log; exit 1; } | |
| xset -display "$DISPLAY" s off; xset -display "$DISPLAY" -dpms 2>/dev/null | |
| ARGS=(-display "$DISPLAY" -forever -shared -rfbport 5900 -localhost | |
| -noxdamage -repeat -xkb -wait 10 -defer 10 -nowf -noscr) | |
| if [ -n "$MDP" ]; then | |
| mkdir -p /root/.vnc; x11vnc -storepasswd "$MDP" /root/.vnc/passwd >/dev/null 2>&1 | |
| ARGS+=( -rfbauth /root/.vnc/passwd ); log "mot de passe VNC actif" | |
| else | |
| ARGS+=( -nopw ) | |
| fi | |
| log "x11vnc sur 5900 (loopback)" | |
| x11vnc "${ARGS[@]}" >/tmp/x11vnc.log 2>&1 & | |
| WEB=/usr/share/novnc | |
| [ -f "$WEB/vnc.html" ] && [ ! -e "$WEB/index.html" ] && ln -sf vnc.html "$WEB/index.html" | |
| log "noVNC sur 6080" | |
| websockify --web="$WEB" 0.0.0.0:6080 127.0.0.1:5900 >/tmp/novnc.log 2>&1 & | |
| # XFCE, relance automatique : un plantage silencieux laisserait un ecran vide. | |
| bureau_superviseur() { | |
| while true; do | |
| DISPLAY="$DISPLAY" dbus-run-session -- startxfce4 >/tmp/xfce.log 2>&1 || true | |
| echo "[bureau] session XFCE terminee, relance" >>"$LOG" | |
| sleep 2 | |
| done | |
| } | |
| bureau_superviseur & disown | |
| sleep 4 | |
| x=$(pgrep -c -f "Xvfb $DISPLAY" || true); v=$(pgrep -c -f "x11vnc .*5900" || true) | |
| w=$(pgrep -c -f "websockify.*6080" || true); f=$(pgrep -c -f xfwm4 || true) | |
| log "Xvfb=$x x11vnc=$v websockify=$w xfwm4=$f" | |
| if [ "$x" -ge 1 ] && [ "$v" -ge 1 ] && [ "$w" -ge 1 ]; then | |
| log "BUREAU PRET -> https://<podid>-6080.proxy.runpod.net/vnc.html?autoconnect=1&resize=remote" | |
| else | |
| log "ECHEC : voir /tmp/xvfb.log /tmp/x11vnc.log /tmp/novnc.log /tmp/xfce.log" | |
| fi | |