Skip to content

AnythingLLM in Ollama

Vsebnik Singularity za AnythingLLM in Ollama

Ponujamo tudi sliko s čelnim delom AnythingLLM.

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: mintplexlabs/anythingllm:latest

%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

    cp /usr/local/bin/docker-entrypoint.sh /app/run-allm.sh
    cp /app/server/prisma/schema.prisma /app/server/node_modules/.prisma/client/schema.prisma

    mkdir /models /data

    rm -rf /app/server/storage
    rm /app/server/.env
    ln -s /data /app/server/storage
    ln -s /data/.env /app/server/.env

    chmod 777 /models /data
    chmod 777 -R /app

%environment
    # OLLAMA
    export OLLAMA_MODELS="/models"
    export OLLAMA_HOST="127.0.0.1:11433"

    # ANYTHING LLM
    export STORAGE_DIR="/data"

%test
    echo "Checking for Ollama installation..."
    test -f /usr/bin/ollama || exit 1

%runscript
    echo "Starting Anything LLM / Ollama stack"
    echo "Starting Ollama server ..."
    ollama serve > /data/ollama.log 2>&1 &

    echo "Starting AnythingLLM server ..."
    bash /app/run-allm.sh

%help
    This container runs a bundled Ollama and Anything LLM 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 -B ./data/prisma:/app/server/node_modules/.prisma/client allm.sif 

Ponujamo vnaprej izdelan vsebnik Singularity, ki vsebuje obe storitvi AnythingLLM in Ollama. Za zagon vsebnika moramo najprej ustvariti mape za shranjevanje podatkov modela za Ollamo in ustvariti trajno lokacijo za shranjevanje podatkov AnythingLLM.

Za ustvarjanje map lahko uporabimo spodnje ukaze. Če ste nekatere modele že prenesli z Ollamo, lahko preskočite ustvarjanje nove mape modelov in preprosto uporabite obstoječo.

mkdir -p allm/models
mkdir -p allm/data
mkdir -p allm/data/prisma
cd allm

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 ./models:/models -B ./data:/data -B ./data/prisma:/app/server/node_modules/.prisma/client allm.sif 

Vrata, ki jih uporablja AnythingLLM, lahko spremenite tudi tako, da zagonskemu ukazu dodate naslednjo zastavico.

--env SERVER_PORT="<port>"

Dnevniki Ollame bodo na voljo tudi v mapi /data, ki ste jo ustvarili.

Za dostop do AnythingLLM 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 \:3001. Vozlišče nastavite na ime gostitelja katerega koli dodeljenega vozlišča.

V sistemih Mac in Linux lahko preprosto zaženete ta ukaz:

ssh -N -f -L <port>:gnXX:3001 <your-username>@login.vega.izum.si