Open WebUI in Ollama
Open WebUI je vmesnik, ki omogoča dostop in interaktivnost za modele LLM. Ollama je zaledni del, ki zagotavlja nalaganje in zagon modelov LLM.
Zagon Open WebUI in Ollama na Vegi
Prijavite se v Vego in dodelite vozlišče, nato pa se povežite z njim.
salloc -n 1 --gres=gpu:1 --partition=gpu -t 00:30:00
ssh node
Aktivirajte Conda in ustvarite novo okolje.
Če ne uporabljate Open WebUI prvič in ste okolje že ustvarili, lahko te korake preskočite in okolje preprosto omogočite.
module load Anaconda3
conda create -n owui python=3.11 -y
conda activate owui
Prenesite, razpakirajte in počistite datoteko Ollama v mapi env bin in lib.
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o $CONDA_PREFIX/ollama.tgz && \
tar -xzvf $CONDA_PREFIX/ollama.tgz -C $CONDA_PREFIX && \
rm $CONDA_PREFIX/ollama.tgz
Dodajte Open WebUI vmesnik v svoje okolje.
pip install open-webui
Ollama bo privzeto shranila modele v direktorij ~/.ollama/models. Če želite to spremeniti, lahko spremenite privzeto pot, ki jo Ollama uporablja za modele, tako da nastavite spremenljivko okolja.
conda env config vars set OLLAMA_MODELS="$(pwd)/models"
Spremembe veljajo šele po ponovnem omogočanju okolja.
Seznami vseh razpoložljivih konfiguracij spremenljivk okolja so dostopni na spletnih straneh owui in ollama.
Zaženite obe storitvi v ozadju.
ollama serve > ollama.log 2>&1 &
open-webui serve > owui.log 2>&1 &
Za dostop do Open WebUI v sistemu Windows v lokalnem brskalniku boste morali ustvariti tunel do svojega vozlišča. Če uporabljate PuTTY v sistemu Windows, lahko to nastavite na desni strani pod Connection -> SSH -> Tunnels.
Nastavite poljubna izvorna vrata, ki jih želite uporabljati na lokalnem računalniku (na primer 8080), ciljna vrata pa nastavite na \
V sistemih Mac in Linux lahko preprosto zaženete ta ukaz:
ssh -N -f -L <port>:gnXX:8080 <your-username>@login.vega.izum.si
Zdaj lahko dostopate do Open WebUI v brskalniku na http://localhost:8080 (8080 zamenjajte z vrati, ki ste jih uporabili).
Vsebnik Singularity za Open WebUI in Ollama
Spodaj je podana datoteka z definicijo slike Singularity. Sliko lahko ustvarite sami ali pa uporabite tisto, ki jo ponuja Vega.
Upoštevajte, da za uporabo --fakeroot za gradnjo slik Singularity na Vegi potrebujete dovoljenja, ki so privzeto onemogočena. Če želite to omogočiti za svoj račun, se obrnite na support@sling.si.
Bootstrap: docker
From: ghcr.io/open-webui/open-webui:main
%post
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o /tmp/ollama.tgz
tar -xzf /tmp/ollama.tgz -C /usr
rm /tmp/ollama.tgz
mkdir /models /data
chmod 777 /models /data
chmod 777 -R /app
ln -s /data /usr/share/ollama
%environment
# OLLAMA
export OLLAMA_MODELS="/models"
export OLLAMA_HOST="127.0.0.1:11434"
# OPENWEB UI
export DATA_DIR="/data"
export OLLAMA_BASE_URL="http://127.0.0.1:11434"
export ENABLE_OPENAI_API
export PORT=8080
export WEBUI_SECRET_KEY="key"
export NVIDIA_VISIBLE_DEVICES=all
%test
echo "Checking for Ollama installation..."
test -f /usr/bin/ollama || exit 1
echo "Checking for Open WebUI installation..."
test -d /app/backend || exit 1
%runscript
echo "Starting Open WebUI / Ollama stack"
echo "Starting Ollama server ..."
ollama serve > /data/ollama.log 2>&1 &
echo "Starting Open WebUI on localhost:8080 ..."
bash /app/backend/start.sh
%startscript
echo "Starting Open WebUI / Ollama stack"
echo "Starting Ollama server ..."
ollama serve > /data/ollama.log 2>&1 &
echo "Starting Open WebUI on localhost:8080 ..."
bash /app/backend/start.sh > /data/owui.log 2>&1 &
%help
This container runs a bundled Ollama and Open WebUI stack.
Replace the ./models and ./data locations with whatever path you want to use as model and data persistent storage locations
Usage:
singularity run --nv --writable-tmpfs -B ./models:/models -B ./data:/data owui.sif owui
Ponujamo vnaprej izdelan vsebnik Singularity, ki vsebuje obe storitvi Open WebUI in Ollama. Za zagon vsebnika morate najprej ustvariti mape za shranjevanje podatkov modela za Ollamo in trajno mesto za shranjevanje podatkov Open WebUI.
Za ustvarjanje map lahko uporabite spodnje ukaze. Če ste nekatere modele že prenesli z Ollamo, lahko preskočite ustvarjanje nove mape modelov in preprosto uporabite obstoječo.
mkdir -p owui/models
mkdir -p owui/data
cd owui
Preden zaženete storitev, si morate najprej priskrbeti računsko vozlišče in se z njim povezati.
salloc -n 1 --gres=gpu:1 --partition=gpu -t 01:00:00
ssh {allocated_node}
Za zagon vsebnika v terminalu lahko uporabite ta ukaz, pri čemer lokacije vezave zamenjate s katero koli potjo, ki ste jo izbrali.
singularity run --nv --writable-tmpfs -B ./owui/models:/models -B ./owui/data:/data owui.sif
Dnevniki Ollame bodo na voljo tudi v mapi /data, ki ste jo ustvarili.
Vsako izvorno nastavitev storitve je mogoče nastaviti z zastavico --env v ukazu Singularity run. Če želite na primer spremeniti vrata Open WebUI, lahko v ukazu singularity run uporabite:
--env PORT=9090
Za dostop do Open WebUI v sistemu Windows v lokalnem brskalniku boste morali ustvariti tunel do svojega vozlišča. Če uporabljate PuTTY v sistemu Windows, lahko to nastavite na desni strani pod Connection -> SSH -> Tunnels.
Nastavite poljubna izvorna vrata, ki jih želite uporabljati na lokalnem računalniku (na primer 8080), ciljna vrata pa nastavite na \
V sistemih Mac in Linux lahko preprosto zaženete ta ukaz:
ssh -N -f -L <port>:gnXX:8080 <your-username>@login.vega.izum.si