Zum Inhalt springen

Lösungen · Dokumenten-Chat

Ein VPS für AnythingLLM

AnythingLLM ist ein privater Chat-Arbeitsbereich für Ihre eigenen Dokumente: Sie laden Dateien hoch, diese werden in eine integrierte Vektordatenbank eingebettet, und Sie chatten mit ihnen über ein gehostetes Modell per API-Schlüssel oder über ein lokales Modell mit Ollama. Die Dokumentation verlangt 2 GB RAM, eine CPU mit 2 Kernen und AVX2 sowie 5 GB Speicherplatz und nennt AVX2 die einzige harte Voraussetzung. GL2-4 für $11.90 im Monat ist die günstigste Maschine, die diese Untergrenze erfüllt; BD-8 für $12.90 ist die, die wir kaufen würden, weil der Embedder auf der CPU dieser Maschine läuft.

Was es braucht

Software laut Dokumentation, Größen mit Quellenangabe

Software und Sicherheitskonfiguration stammen aus der Dokumentation des jeweiligen Projekts. Wo das Projekt keine Hardwareangabe veröffentlicht, ist bei den Größen angegeben, von wem sie stammen.

Aus docs.anythingllm.com und dem Docker-Leitfaden des Projekts

  • „RAM 2GB, 2-core CPU with AVX2, Storage 5GB“: das Minimum der Dokumentation. Auf einer Cloud-Maschine nennt der Docker-Leitfaden mindestens 2 GB RAM und mindestens 10 GB Speicherplatz.
  • AVX2 ist „die einzige harte Voraussetzung“: Die Standard-Vektordatenbank ist für CPUs ab 2013 gebaut, und ohne AVX2 bricht der Server beim Start ab. Prüfen Sie es auf dem Rechner: lscpu | grep -o avx2. Wenn nichts ausgegeben wird, setzen Sie VECTOR_DB auf eine andere Vektordatenbank.
  • Installation: docker run -d -p 3001:3001 --cap-add SYS_ADMIN … mintplexlabs/anythingllm mit einem unter /app/server/storage eingehängten Speicherverzeichnis. Die App läuft auf Port 3001.
  • Für den Chat braucht es ein Modell: einen API-Schlüssel für einen gehosteten Anbieter oder Ollama auf derselben oder einer anderen Maschine. Das Embedding läuft standardmäßig auf der CPU dieser Maschine. Der Mehrbenutzermodus mit Berechtigungen ist eine Funktion der Docker-Version. Keine GPU.

Größen (das Minimum des Projekts, dann unsere)

Dimensionierung nach Einsatzzweck
WorkloadvCPURAM
Dokumente, Chats, ein gehostetes Modell (offizielles Minimum)Zwei Kerne mit AVX2. 5 GB Speicherplatz, 10 GB auf einer Cloud-Maschine; allein die Images belegen einige Gigabyte.22 GB
Eine echte Dokumentenbibliothek, der integrierte CPU-Embedder, ein paar NutzerUnsere. Das Embedding läuft auf dieser CPU; ein großer Upload dauert auf zwei Kernen lange.48 GB
Ollama daneben für einen vollständig lokalen StackUnsere. Das ist eine Frage des Modell-Hostings, nicht von AnythingLLM: Dimensionieren Sie es auf der Ollama-Seite.832 GB

Die passenden Tarife

5 Server, live bepreist

Günstigste passende Maschine zuerst. Die Preise sind von heute, pro Monat, aus dem Katalog gelesen. Führen Sie die AVX2-Prüfung auf der Maschine durch, die Sie kaufen, und zwar in der ersten Minute.

  • GL2-4$11.90/Monat

    2 vCPU · 4 GB · 40 GB Speicherplatz · Unmetered

    Die günstigste, die die Untergrenze erfüllt, Unmetered. 2 vCPU / 4 GB / 40 GB, doppelt so viel Arbeitsspeicher wie die Dokumentation verlangt, und ungemessener Datenverkehr für Uploads. Führen Sie vor allem anderen die AVX2-Prüfung durch.

  • BD-8$12.90/Monat

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

    Die, die wir kaufen würden: 4 Kerne für den Embedder. 4 vCPU, 8 GB, 100 GB und 32 TB Datentransfer für einen Dollar mehr. Eine Bibliothek auf vier statt zwei Kernen einzubetten, ist der Unterschied, den Sie spüren.

  • BD-24$31.90/Monat

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

    8 vCPU / 24 GB für viele Nutzer und Ollama daneben. Platz für ein 8B-Modell in Ollama auf derselben Maschine, langsam, und die Dokumente eines Teams.

  • C2-4-80$37.90/Monat

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

    Die Form der Untergrenze, in Dutzenden Städten. 2 vCPU / 4 GB / 80 GB. Wählen Sie ihn wegen der Stadt. Gehostetes Modell, kleine Bibliothek.

  • C4-8-160$75.90/Monat

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

    4 vCPU / 8 GB / 160 GB, in Dutzenden Städten. Die komfortable Größe mit Speicherplatz für eine große Sammlung und ihre Vektoren.

Für AnythingLLM gibt es noch keine Startvorlage: Die Installation besteht aus den fünf Schritten unten, die Sie selbst eingeben. Schritt 3 weicht vom Befehl des Projekts in einem Flag ab, das den Port an Loopback bindet, und weist darauf hin.

Die Installation

Fünf Schritte, aus dem Docker-Leitfaden des Projekts

Prüfen Sie die CPU, installieren Sie Docker, starten Sie den Container auf Loopback, richten Sie ihn über SSH ein und geben Sie ihm dann eine Domain.

  1. Prüfen Sie zuerst AVX2. lscpu | grep -o avx2 Die Ausgabe muss avx2 enthalten. Die Dokumentation stellt klar, dass dies die einzige Hardwarevoraussetzung ist und nicht emuliert werden kann; auf einem Rechner ohne AVX2 muss VECTOR_DB vor dem ersten Start auf eine externe Vektordatenbank gesetzt werden.
  2. Docker. curl -fsSL https://get.docker.com | sh
  3. Starten Sie es auf 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 Das ist der Befehl des Projekts mit einer Änderung: -p 127.0.0.1:3001:3001 statt -p 3001:3001, damit der Chat nicht offen im Internet steht, bevor Sie ein Passwort gesetzt haben. Das Storage-Verzeichnis enthält die Datenbank, die Vektoren und Ihre Dokumente; sichern Sie es.
  4. Richten Sie es über SSH ein. ssh -N -L 3001:127.0.0.1:3001 root@your-server dann http://127.0.0.1:3001. Wählen Sie das LLM: einen gehosteten Anbieter mit dessen API-Schlüssel oder Ollama unter http://host.docker.internal:11434, wenn es auf diesem Rechner läuft. Aktivieren Sie den Mehrbenutzermodus oder setzen Sie in den Einstellungen das Instanzpasswort, bevor jemand anderes darauf zugreifen kann.
  5. Geben Sie ihm eine Domain. Richten Sie einen A-Record auf den Server, installieren Sie Caddy, und ein einziger Caddyfile-Block reverse_proxy 127.0.0.1:3001 unter Ihrer Domain holt das Zertifikat und stellt HTTPS vor Port 3001. Öffnen Sie in der Firewall 80 und 443, sonst nichts.

Ehrlich gesagt

Was wir tatsächlich kaufen würden

Die Untergrenze liegt bei 2 Kernen und 2 GB, und die günstigste Zeile erfüllt sie. Wir würden trotzdem den zusätzlichen Dollar ausgeben.

Für eine Dokumentensammlung, die Sie wirklich nutzen

BD-8 · $12.90/Monat

4 vCPU, 8 GB und 100 GB für $12.90, gegenüber GL2-4 für $11.90: Ein Dollar im Monat bringt zwei Kerne mehr für den Embedder, der bei jedem Upload auf dieser Maschine läuft, und 100 GB für die Dokumente und ihre Vektoren. Das Modell läuft anderswo, hinter einem API-Schlüssel, also keine GPU; wenn Sie Ollama daneben möchten, lesen Sie die Ollama-Seite und kaufen Sie für das Modell, nicht für AnythingLLM. Führen Sie auf jeder davon die AVX2-Prüfung aus, bevor Sie auch nur eine Datei hochladen.

Fragen

Was Kunden vor dem Kauf fragen.

Welche Systemanforderungen hat AnythingLLM?
Die Dokumentation nennt als Minimum 2 GB RAM, eine CPU mit 2 Kernen und AVX2 sowie 5 GB Speicher und sagt, das reiche, um einige Dokumente zu speichern, zu chatten und die Funktionen zu nutzen. Der Docker-Leitfaden des Projekts ergänzt, dass Sie auf einer Cloud-Maschine mindestens 2 GB RAM und 10 GB Speicherplatz einplanen sollten, weil der Speicherbedarf mit Dokumenten, Vektoren und lokalen Modellen wächst. Laut Dokumentation ist die App zudem eine Hülle um externe Dienste: Sie ist schlank, wenn Modell und Embedder anderswo laufen, und schwerer, wenn sie auf derselben Maschine laufen.
Was ist die AVX2-Anforderung, und hat mein VPS sie?
Die Standard-Vektordatenbank LanceDB ist für CPUs mit dem Befehlssatz AVX2 kompiliert (Intel Haswell, 2013, und neuer). Ohne ihn wird der Serverprozess beendet, sobald die Datenbank lädt, und die Dokumentation nennt dies die einzige harte Hardware-Voraussetzung. Der Haken sind virtuelle Maschinen: Ein Hypervisor kann ein generisches CPU-Modell bereitstellen, das AVX2 selbst auf einem modernen Host verbirgt. Deshalb rät die Dokumentation, im Gastsystem mit lscpu | grep -o avx2 zu prüfen, nicht auf dem Host. Wir versprechen kein CPU-Flag, das wir im Katalog nicht sehen können, also führen Sie diese eine Zeile in der ersten Minute aus. Gibt sie nichts aus, setzen Sie VECTOR_DB auf eine der anderen unterstützten Vektordatenbanken, die als separate Dienste laufen.
Braucht es eine GPU?
Nein. AnythingLLM selbst betreibt die Web-App, die Dokumentenverarbeitung und standardmäßig einen reinen CPU-Embedder. Die Chat-Antworten kommen von dem LLM, das Sie anbinden: einem gehosteten Anbieter per API-Schlüssel, laut Dokumentation mit nahezu null Overhead, oder einem lokalen Modell über Ollama. Die Dokumentation rät selbst, ein lokales Modell auf einer anderen Maschine mit GPU zu hosten, wenn die AnythingLLM-Maschine keine hat. Dafür sind die Ollama-Seite und die GPU-Linie da, nicht diese Seite.
Ist es nach der Installation offen im Internet erreichbar?
Der Befehl des Projekts veröffentlicht Port 3001 auf allen Schnittstellen, und eine frische Instanz hat kein Passwort, bis Sie eines setzen. Die Installation auf dieser Seite bindet 3001 stattdessen an 127.0.0.1, sodass Sie bis zum Hinzufügen einer Domain nur über einen SSH-Tunnel hineinkommen. Setzen Sie dann in den Einstellungen das Instanz-Passwort oder aktivieren Sie den Mehrbenutzermodus, den die README als Funktion der Docker-Version aufführt, bevor Sie HTTPS davorschalten.
Wo liegen meine Daten?
Im Speicherverzeichnis, das Sie unter /app/server/storage einhängen: die SQLite-Datenbank, die LanceDB-Vektoren, hochgeladene Dokumente und alle lokal heruntergeladenen Modelle. Der Docker-Leitfaden empfiehlt, es genau deshalb auf dem Host einzuhängen, damit Sie ein neues Image laden können, ohne etwas zu verlieren. Sichern Sie dieses Verzeichnis und die .env daneben; zusammen sind sie die gesamte Instanz.
Kann es Ollama auf derselben Maschine nutzen?
Ja. Aus dem Container heraus ist der Host http://host.docker.internal:11434, was unter Linux --add-host=host.docker.internal:host-gateway im Run-Befehl erfordert; der Schritt oben enthält es. Dimensionieren Sie die Maschine dann für das Modell: Ein 8B-Modell braucht zusätzlich zu AnythingLLM eigene 8 GB und antwortet auf der CPU mit wenigen Tokens pro Sekunde. Die 24-GB-Zeile ist die kleinste auf dieser Seite, bei der das komfortabel ist.