Naar de inhoud

Oplossingen · Chatten met documenten

Een VPS voor AnythingLLM

AnythingLLM is een privé chatwerkruimte over uw eigen documenten: u uploadt bestanden, die worden ge-embed in een ingebouwde vectordatabase, en u chat ermee via een gehost model achter een API-sleutel of een lokaal model via Ollama. De documentatie vraagt 2 GB RAM, een CPU met 2 cores en AVX2 en 5 GB schijfruimte, en noemt AVX2 de enige harde eis. GL2-4 voor $11.90 per maand is de goedkoopste machine die aan dat minimum voldoet; BD-8 voor $12.90 is degene die wij zouden kopen, omdat de embedder op de CPU van deze machine draait.

Wat het nodig heeft

Software uit de documentatie, groottes met vermelding van de bron

De software en de beveiligingsaanpak komen uit de eigen documentatie van het project. Waar het project geen hardwarecijfers publiceert, staat bij de groottes van wie ze afkomstig zijn.

Uit docs.anythingllm.com en de Docker-gids van het project

  • “RAM 2GB, 2-core CPU with AVX2, Storage 5GB”: het minimum uit de documentatie. Op een cloudmachine noemt de Docker-gids minstens 2 GB RAM en minimaal 10 GB schijfruimte.
  • AVX2 is “de enige harde eis”: de standaard vectordatabase is gebouwd voor CPU's vanaf 2013, en zonder AVX2 crasht de server bij het starten. Controleer het op de machine: lscpu | grep -o avx2. Toont dit niets, stel VECTOR_DB dan in op een andere vectordatabase.
  • Installatie: docker run -d -p 3001:3001 --cap-add SYS_ADMIN … mintplexlabs/anythingllm met een opslagmap gekoppeld aan /app/server/storage. De app draait op poort 3001.
  • Voor chat is een model nodig: een API-sleutel voor een gehoste aanbieder, of Ollama op dezelfde of een andere machine. Embedding draait standaard op de CPU van deze machine. Multi-usermodus met rechten is een functie van de Docker-versie. Geen GPU.

Groottes (het minimum van het project, daarna het onze)

Groottes per toepassing
WorkloadvCPURAM
Documenten, chats, een gehost model (officieel minimum)Twee cores met AVX2. 5 GB schijfruimte, 10 GB op een cloudmachine; de images alleen nemen al een paar gigabyte in.22 GB
Een echte documentbibliotheek, de ingebouwde CPU-embedder, een paar gebruikersOns advies. Embedding draait op deze CPU; een grote upload duurt op twee cores lang.48 GB
Ollama ernaast voor een volledig lokale stackOns advies. Dat is een vraag over het hosten van een model, niet over AnythingLLM: bepaal de grootte op de Ollama-pagina.832 GB

De passende pakketten

5 machines, actueel geprijsd

Goedkoopste passende machine eerst. Prijzen zijn van vandaag, per maand, uit de catalogus. Voer op de machine die u koopt in de eerste minuut de AVX2-controle uit.

  • GL2-4$11.90/mnd

    2 vCPU · 4 GB · 40 GB schijf · Unmetered

    Goedkoopste die aan het minimum voldoet, unmetered. 2 vCPU / 4 GB / 40 GB, twee keer het geheugen dat de documentatie vraagt, en ongemeten verkeer voor uploads. Voer eerst de AVX2-controle uit.

  • BD-8$12.90/mnd

    4 vCPU · 8 GB · 100 GB schijf · 32 TB

    Degene die wij zouden kopen: 4 cores voor de embedder. 4 vCPU, 8 GB, 100 GB en 32 TB dataverkeer voor een dollar meer. Een bibliotheek embedden op vier cores in plaats van twee is het verschil dat u merkt.

  • BD-24$31.90/mnd

    8 vCPU · 24 GB · 300 GB schijf · 32 TB

    8 vCPU / 24 GB voor veel gebruikers en Ollama ernaast. Ruimte voor een 8B-model in Ollama op dezelfde machine, traag, en de documenten van een team.

  • C2-4-80$37.90/mnd

    2 vCPU · 4 GB · 80 GB schijf · 3 TB

    De vorm van het minimum, in tientallen steden. 2 vCPU / 4 GB / 80 GB. Kies hem om de stad. Gehost model, bescheiden bibliotheek.

  • C4-8-160$75.90/mnd

    4 vCPU · 8 GB · 160 GB schijf · 3 TB

    4 vCPU / 8 GB / 160 GB, in tientallen steden. De comfortabele grootte, met schijfruimte voor een grote bibliotheek en de vectoren ervan.

Er is nog geen opstartpreset voor AnythingLLM: de installatie bestaat uit de vijf stappen hieronder, die u zelf typt. Stap 3 wijkt in één flag af van het commando van het project, die de poort aan loopback bindt, en vermeldt dat.

De installatie

Vijf stappen, uit de Docker-gids van het project

Controleer de CPU, installeer Docker, draai de container op loopback, richt hem in via SSH en geef hem daarna een domein.

  1. Controleer eerst AVX2. lscpu | grep -o avx2 Dit moet avx2 tonen. De documentatie is duidelijk: dit is de enige hardware-eis en die kan niet worden geëmuleerd. Een machine zonder AVX2 moet VECTOR_DB vóór de eerste start op een externe vectordatabase instellen.
  2. Docker. curl -fsSL https://get.docker.com | sh
  3. Start het, op loopback. export STORAGE_LOCATION=/opt/anythingllm && mkdir -p $STORAGE_LOCATION && touch $STORAGE_LOCATION/.env docker run -d --name anythingllm --restart unless-stopped -p 127.0.0.1:3001:3001 --cap-add SYS_ADMIN --add-host=host.docker.internal:host-gateway -v $STORAGE_LOCATION:/app/server/storage -v $STORAGE_LOCATION/.env:/app/server/.env -e STORAGE_DIR="/app/server/storage" mintplexlabs/anythingllm Dit is het commando van het project met één wijziging: -p 127.0.0.1:3001:3001 in plaats van -p 3001:3001, zodat de chat niet op het open internet staat voordat u een wachtwoord hebt ingesteld. De opslagmap bevat de database, de vectoren en uw documenten; maak er back-ups van.
  4. Richt het in via SSH. ssh -N -L 3001:127.0.0.1:3001 root@your-server en dan http://127.0.0.1:3001. Kies het LLM: een gehoste aanbieder met zijn API-sleutel, of Ollama op http://host.docker.internal:11434 als het op deze machine draait. Schakel de modus voor meerdere gebruikers in of stel het instantiewachtwoord in bij Instellingen voordat iemand anders erbij kan.
  5. Geef het een domein. Laat een A-record naar de server wijzen, installeer Caddy, en één Caddyfile-blok reverse_proxy 127.0.0.1:3001 onder uw domein haalt het certificaat op en zet HTTPS voor poort 3001. Open 80 en 443 in de firewall, verder niets.

Eerlijk gezegd

Wat wij zelf zouden kopen

Het minimum is 2 cores en 2 GB, en de goedkoopste rij voldoet daaraan. Wij zouden toch die extra dollar uitgeven.

Voor een documentenbibliotheek die u echt gaat gebruiken

BD-8 · $12.90/mnd

4 vCPU, 8 GB en 100 GB voor $12.90, tegenover GL2-4 voor $11.90: voor een dollar per maand krijgt u twee extra cores voor de embedder die bij elke upload op deze machine draait, en 100 GB voor de documenten en hun vectoren. Het model staat elders, achter een API-sleutel, dus geen GPU; wilt u Ollama ernaast, lees dan de Ollama-pagina en koop voor het model, niet voor AnythingLLM. Voer op elk van deze machines de AVX2-controle uit voordat u ook maar één bestand uploadt.

Vragen

Wat mensen vragen voordat ze er een kopen.

Wat zijn de systeemvereisten van AnythingLLM?
De documentatie noemt een minimum van 2 GB RAM, een CPU met 2 cores en AVX2 en 5 GB opslag, en zegt dat dat genoeg is om wat documenten op te slaan, te chatten en de functies te gebruiken. De Docker-gids van het project voegt toe dat u op een cloudmachine moet uitgaan van minstens 2 GB RAM en 10 GB schijfruimte, omdat de schijf groeit met documenten, vectoren en eventuele lokale modellen. Volgens de documentatie is de app ook een schil rond externe diensten, dus licht wanneer het model en de embedder elders draaien, en zwaarder wanneer ze op dezelfde machine draaien.
Wat is de AVX2-vereiste, en heeft mijn VPS die?
De standaard vectordatabase, LanceDB, is gecompileerd voor CPU's met de AVX2-instructieset (Intel Haswell, 2013, en nieuwer). Zonder AVX2 wordt het serverproces beëindigd zodra de database laadt, en de documentatie noemt dit de enige harde hardwarevereiste. Virtuele machines zijn het addertje: een hypervisor kan een generiek CPU-model tonen dat AVX2 verbergt, zelfs op een moderne host, dus de documentatie zegt dat u binnen de guest moet controleren met lscpu | grep -o avx2, niet op de host. Wij beloven geen CPU-flag die we niet in de catalogus kunnen zien, dus voer die ene regel in de eerste minuut uit. Geeft hij niets terug, stel dan VECTOR_DB in op een van de andere ondersteunde vectordatabases, die als aparte diensten draaien.
Heeft het een GPU nodig?
Nee. AnythingLLM zelf draait de webapp, de documentpipeline en standaard een embedder die alleen de CPU gebruikt. Chatantwoorden komen van het LLM dat u koppelt: een gehoste aanbieder via een API-sleutel, met wat de documentatie vrijwel geen overhead noemt, of een lokaal model via Ollama. De eigen tip van de documentatie is om een lokaal model op een andere machine met een GPU te hosten als de AnythingLLM-machine er geen heeft. Daarvoor zijn de Ollama-pagina en de GPU-lijn, niet deze pagina.
Is het na de installatie open op internet?
Het commando van het project publiceert poort 3001 op elke interface, en een nieuwe instantie heeft geen wachtwoord tot u er een instelt. De installatie op deze pagina bindt 3001 in plaats daarvan aan 127.0.0.1, dus tot u een domein toevoegt is een SSH-tunnel de enige toegang. Stel daarna in Settings het wachtwoord van de instantie in of zet multi-usermodus aan, die de README als functie van de Docker-versie noemt, voordat u er HTTPS voor zet.
Waar staan mijn gegevens?
In de opslagmap die u koppelt aan /app/server/storage: de SQLite-database, de LanceDB-vectoren, geüploade documenten en eventuele lokaal gedownloade modellen. De Docker-gids zegt dat u deze op de host moet koppelen, juist zodat u een nieuwe image kunt ophalen zonder iets te verliezen. Maak een back-up van die map en het .env-bestand ernaast; samen vormen ze de hele instantie.
Kan het Ollama op dezelfde machine gebruiken?
Ja. Vanuit de container is de host http://host.docker.internal:11434, waarvoor op Linux --add-host=host.docker.internal:host-gateway in het run-commando nodig is; de stap hierboven bevat dat. Kies de machine dan op het model: een 8B-model wil 8 GB voor zichzelf bovenop AnythingLLM, en antwoordt op de CPU met een paar tokens per seconde. De rij met 24 GB is de kleinste op deze pagina waarop dat comfortabel is.