İçeriğe geç

Çözümler · Belge sohbeti

AnythingLLM için VPS

AnythingLLM, kendi belgeleriniz üzerinde çalışan özel bir sohbet çalışma alanıdır: dosyaları yüklersiniz, yerleşik bir vektör veritabanına gömülürler ve onlarla API anahtarı arkasındaki barındırılan bir model ya da Ollama üzerinden yerel bir model aracılığıyla sohbet edersiniz. Belgeleri 2 GB RAM, AVX2 destekli 2 çekirdekli bir CPU ve 5 GB disk istiyor ve AVX2'yi tek kesin gereksinim olarak tanımlıyor. Ayda $11.90 fiyatlı GL2-4, bu alt sınırı karşılayan en ucuz makinedir; $12.90 fiyatlı BD-8 ise bizim alacağımız makinedir, çünkü embedder bu makinenin CPU'sunda çalışır.

Gereksinimleri

Yazılım belgelerden, boyutlar kaynağıyla etiketli

Yazılım ve güvenlik yaklaşımı, projenin kendi belgelerinden alınmıştır. Projenin donanım değeri yayımlamadığı durumlarda boyutlar, kime ait olduklarını belirtir.

docs.anythingllm.com ve projenin Docker rehberinden

  • “RAM 2GB, 2-core CPU with AVX2, Storage 5GB”: belgelerdeki minimum. Bulut makinede Docker rehberi en az 2 GB RAM ve minimum 10 GB disk öneriyor.
  • AVX2 “tek katı gereksinimdir”: varsayılan vektör veritabanı 2013 ve sonrası CPU'lar için derlenmiştir ve bu özellik olmadan sunucu başlarken çöker. Makinenin içinde kontrol edin: lscpu | grep -o avx2. Hiçbir şey yazdırmazsa VECTOR_DB değerini başka bir vektör veritabanına ayarlayın.
  • Kurulum: /app/server/storage konumuna bağlanmış bir depolama diziniyle docker run -d -p 3001:3001 --cap-add SYS_ADMIN … mintplexlabs/anythingllm. Uygulama 3001 numaralı portta çalışır.
  • Sohbet için bir model gerekir: barındırılan bir sağlayıcı için API anahtarı ya da aynı veya başka bir makinede Ollama. Embedding varsayılan olarak bu makinenin CPU'sunda çalışır. İzinli çok kullanıcılı mod, Docker sürümüne özgü bir özelliktir. GPU yok.

Boyutlar (önce projenin minimumu, sonra bizim önerimiz)

İş yüküne göre boyutlandırma
İş yüküvCPURAM
Belgeler, sohbetler, barındırılan bir model (resmi minimum)AVX2 destekli iki çekirdek. 5 GB disk, bulut makinede 10 GB; yalnızca imajlar birkaç gigabayt yer kaplar.22 GB
Gerçek bir belge kütüphanesi, yerleşik CPU embedder, birkaç kullanıcıBizim önerimiz. Embedding bu CPU'da çalışır; iki çekirdekte büyük bir yükleme uzun sürer.48 GB
Tamamen yerel bir yapı için yanında OllamaBizim önerimiz. Bu bir AnythingLLM sorusu değil, model barındırma sorusudur: boyutu Ollama sayfasına göre belirleyin.832 GB

Uygun planlar

5 makine, canlı fiyatlı

Önce uygun olan en ucuz makine. Fiyatlar bugünkü aylık fiyatlardır ve katalogdan okunur. Hangisini alırsanız alın, AVX2 kontrolünü ilk dakikada çalıştırın.

  • GL2-4$11.90/ay

    2 vCPU · 4 GB · 40 GB disk · Unmetered

    Alt sınırı karşılayan en ucuz, Unmetered. 2 vCPU / 4 GB / 40 GB; dokümantasyonun istediğinin iki katı bellek ve yüklemeler için ölçülmeyen trafik. Her şeyden önce AVX2 kontrolünü yapın.

  • BD-8$12.90/ay

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

    Bizim alacağımız: embedder için 4 çekirdek. Bir dolar fazlasına 4 vCPU, 8 GB, 100 GB ve 32 TB veri aktarımı. Bir kütüphanenin embedding işlemini iki yerine dört çekirdekte yapmak, hissedeceğiniz farktır.

  • BD-24$31.90/ay

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

    Çok sayıda kullanıcı ve yanında Ollama için 8 vCPU / 24 GB. Aynı makinede Ollama ile 8B bir model (yavaş çalışır) ve bir ekibin belgeleri için yer.

  • C2-4-80$37.90/ay

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

    Alt sınıra uyan yapı, onlarca şehirde. 2 vCPU / 4 GB / 80 GB. Şehir için seçin. Barındırılan model, mütevazı kütüphane.

  • C4-8-160$75.90/ay

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

    4 vCPU / 8 GB / 160 GB, onlarca şehirde. Büyük bir kütüphane ve vektörleri için yeterli diske sahip rahat boyut.

AnythingLLM için henüz bir başlangıç ön ayarı yok: kurulum, aşağıdaki beş adımdan oluşur ve bunları siz yazarsınız. 3. adım, projenin komutundan portu loopback'e bağlayan tek bir bayrakla ayrılır ve bunu belirtir.

Kurulum

Projenin Docker rehberinden beş adım

CPU'yu kontrol edin, Docker'ı kurun, container'ı loopback üzerinde çalıştırın, SSH üzerinden yapılandırın, ardından bir alan adı verin.

  1. Önce AVX2'yi kontrol edin. lscpu | grep -o avx2 Çıktıda avx2 yazmalıdır. Dokümantasyon, bunun tek donanım kuralı olduğunu ve emüle edilemeyeceğini açıkça belirtir; bu özelliği olmayan bir makinede ilk başlatmadan önce VECTOR_DB değerinin harici bir vektör veritabanına ayarlanması gerekir.
  2. Docker. curl -fsSL https://get.docker.com | sh
  3. Loopback üzerinde çalıştırın. 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 Bu, projenin komutudur ve tek bir değişiklik içerir: -p 3001:3001 yerine -p 127.0.0.1:3001:3001; böylece siz parola belirlemeden sohbet açık internette olmaz. Depolama dizini veritabanını, vektörleri ve belgelerinizi barındırır; yedekleyin.
  4. SSH üzerinden kurun. ssh -N -L 3001:127.0.0.1:3001 root@your-server ardından http://127.0.0.1:3001. LLM'i seçin: barındırılan bir sağlayıcı ve onun API anahtarı ya da bu makinede çalışıyorsa http://host.docker.internal:11434 adresindeki Ollama. Başka biri erişebilmeden önce Ayarlar'da çok kullanıcılı modu açın veya örnek parolasını belirleyin.
  5. Bir alan adı verin. Sunucuya bir A kaydı yönlendirin, Caddy'yi kurun; alan adınız altındaki tek bir Caddyfile bloğu reverse_proxy 127.0.0.1:3001 sertifikayı alır ve 3001'in önüne HTTPS koyar. Güvenlik duvarında 80 ve 443'ü açın, başka hiçbir şeyi değil.

Dürüstçe

Gerçekte ne alırdık

Alt sınır 2 çekirdek ve 2 GB'tır ve en ucuz satır bunu karşılar. Biz yine de fazladan bir dolar harcardık.

Gerçekten kullanacağınız bir belge kütüphanesi için

BD-8 · $12.90/ay

$12.90 fiyatla 4 vCPU, 8 GB ve 100 GB, buna karşılık $11.90 fiyatla GL2-4: ayda bir dolar, her yüklemenizde bu makinede çalışan embedder için iki çekirdek daha ve belgeler ile vektörleri için 100 GB sağlar. Model başka yerde, bir API anahtarının arkasındadır, dolayısıyla GPU gerekmez; yanında Ollama istiyorsanız Ollama sayfasını okuyun ve AnythingLLM'e göre değil, modele göre satın alın. Hangisini seçerseniz seçin, tek bir dosya yüklemeden önce AVX2 kontrolünü çalıştırın.

Sorular

Satın almadan önce sorulanlar.

AnythingLLM'in sistem gereksinimleri nelerdir?
Belgeleri minimum olarak 2 GB RAM, AVX2 destekli 2 çekirdekli bir CPU ve 5 GB depolama veriyor ve bunun bazı belgeleri saklamak, sohbet etmek ve özelliklerini kullanmak için yeterli olduğunu söylüyor. Projenin Docker rehberi, bulut makinede en az 2 GB RAM ve 10 GB disk hedeflemeniz gerektiğini ekliyor, çünkü disk kullanımı belgeler, vektörler ve yerel modellerle büyür. Belgeler ayrıca uygulamanın harici hizmetlerin etrafında bir sarmalayıcı olduğunu, bu nedenle model ve embedder başka yerdeyken hafif, aynı makinede çalıştıklarında ise daha ağır olduğunu belirtiyor.
AVX2 gereksinimi nedir ve VPS'imde olacak mı?
Varsayılan vektör veritabanı LanceDB, AVX2 komut setine sahip CPU'lar (Intel Haswell, 2013 ve sonrası) için derlenmiştir. Bu olmadan, veritabanı yüklendiği anda sunucu süreci sonlandırılır ve belgeler bunu tek kesin donanım gereksinimi olarak tanımlar. Sorun sanal makinelerdedir: hypervisor, modern bir host üzerinde bile AVX2'yi gizleyen genel bir CPU modeli sunabilir; bu yüzden belgeler kontrolün host üzerinde değil, guest içinde lscpu | grep -o avx2 ile yapılmasını söyler. Katalogdan göremediğimiz bir CPU bayrağını vaat etmiyoruz, bu nedenle bu tek satırı ilk dakikada çalıştırın. Hiçbir çıktı vermezse VECTOR_DB değerini, ayrı hizmet olarak çalışan diğer desteklenen vektör veritabanlarından birine ayarlayın.
GPU gerekir mi?
Hayır. AnythingLLM'in kendisi web uygulamasını, belge işleme hattını ve varsayılan olarak yalnızca CPU kullanan bir embedder'ı çalıştırır. Sohbet yanıtları bağladığınız LLM'den gelir: API anahtarıyla barındırılan bir sağlayıcı (belgelerin ifadesiyle neredeyse sıfır ek yükle) ya da Ollama üzerinden yerel bir model. Belgelerin kendi önerisi, AnythingLLM makinesinde GPU yoksa yerel modeli GPU'lu farklı bir makinede barındırmaktır. Bunun için Ollama sayfasına ve GPU serisine bakın, bu sayfaya değil.
Kurulumdan sonra internete açık mı?
Projenin komutu 3001 numaralı portu tüm arayüzlerde yayınlar ve yeni bir örnekte siz belirleyene kadar parola yoktur. Bu sayfadaki kurulum ise 3001'i 127.0.0.1'e bağlar; böylece bir alan adı ekleyene kadar tek erişim yolu bir SSH tünelidir. Ardından, önüne HTTPS koymadan önce Ayarlar'da örnek parolasını belirleyin ya da README'nin Docker sürümüne özgü özellik olarak listelediği çok kullanıcılı modu açın.
Verilerim nerede saklanır?
/app/server/storage konumuna bağladığınız depolama dizininde: SQLite veritabanı, LanceDB vektörleri, yüklenen belgeler ve yerel olarak indirilen modeller. Docker rehberi, hiçbir şey kaybetmeden yeni bir imaj çekebilmeniz için tam da bu yüzden dizini host üzerine bağlamanızı söyler. Bu dizini ve yanındaki .env dosyasını yedekleyin; ikisi birlikte örneğin tamamıdır.
Aynı makinedeki Ollama'yı kullanabilir mi?
Evet. Container içinden host adresi http://host.docker.internal:11434'tür; Linux'ta bunun için çalıştırma komutunda --add-host=host.docker.internal:host-gateway gerekir, yukarıdaki adım bunu içerir. Bu durumda makineyi modele göre boyutlandırın: 8B bir model AnythingLLM'in üzerine kendine ait 8 GB ister ve CPU'da saniyede birkaç token hızında yanıt verir. 24 GB satırı, bu sayfada bunun rahat olduğu en küçük seçenektir.