AnythingLLM — kapalı kurulum
Belgelerinizle sohbet, interneti olmayan bir pod'da. Çıkışın gerçekten kapalı olduğu ham IP testleriyle ölçüldü.
AnythingLLM, belgelerinizle sohbet (RAG), çalışma alanları ve ajan araçları sunan bir uygulamadır. Kurumsal soru şu oluyor: "belgelerimiz dışarı çıkmasın". Bu sayfa onun nasıl sağlandığını ve ölçülerek nasıl kanıtlandığını anlatıyor.
Kurgu iki pod:
AnythingLLM (internet KAPALI) --ayni namespace--> LiteLLM köprüsü (internet açık)
belgeler, vektör DB |
v
Kaptan inference (OpenAI-uyumlu)Buradaki LiteLLM biçim çevirici değil — AnythingLLM zaten OpenAI biçimi konuşuyor, Gao Kaptan inference da OpenAI-uyumlu. Köprünün işi çıkış aracılığı: internet izni ve API anahtarı yalnızca onda; belgelerin durduğu pod hiçbir yere çıkamıyor.
Çıkış gerçekten kapalı mı — ölçüm
"Kapalı" demek yetmez, çünkü bir pod'un adres çözememesi ile ağ seviyesinde kapalı olması farklı şeyler. O yüzden DNS tümüyle atlanıp ham IP ile denendi (canlı pod çifti, 2026-09-28):
| test | AnythingLLM | Köprü |
|---|---|---|
1.1.1.1:443 | kapalı | açık |
8.8.8.8:443 | kapalı | açık |
1.1.1.1:80 | kapalı | açık |
93.184.216.34:80 | kapalı | açık |
kube-dns 10.96.0.10:53 | açık | — |
curl https://huggingface.co | 000 | — |
Okunması gerekenler:
- DNS çözülüyor (küme içi ad çözümlemesi buna ihtiyaç duyar) ama hiçbir genel IP'ye hiçbir portta çıkılamıyor. Yani bu "adres bulamıyor" değil, ağ politikası.
- Aynı test köprüde açık. Politika pod başına uygulanıyor; tek bir küme ayarı değil.
curlsatırının000dönmesi bağlantının hiç kurulamadığını gösteriyor — HTTP hatası bile yok.
Uçtan uca: kapalı pod'da RAG çalışıyor
Aynı kapalı pod'da sırayla ölçüldü:
| adım | sonuç |
|---|---|
| köprüden sohbet | 200, gerçek cevap |
| köprüden gömme | 200, 2560 boyutlu vektör |
| belge yükleme | yerel collector işledi |
| çalışma alanına gömme | vectorCount: 1 |
belgeye dair soru (query kipi) | doğru cevap + kaynak gösterimi |
Son satır kanıtın kendisi: yüklenen belgeye yalnızca orada bulunan bir kod konuldu
(KPT-7731-ACIL) ve soru o kodu sordu. Model doğru cevapladı ve kaynağı
(kaptan-ic-not.txt) gösterdi — yani cevap modelin belleğinden değil, kapalı ortamda
gömülen belgeden geldi.
Atölye'den kur
Atölye → AnythingLLM → Deploy & Configure. Tarif iki pod'u sırayla kurar ve bağlar; tek
soru gömme modeli. Elle yazmanız gerekmez: sohbet modeli gibi listeden seçilir ve liste
inference'ın yayınladığı gömme modellerinden süzülür (model_type: embedding). Seçim
zorunludur — gömme olmadan belge yükleme çalışmaz.
Arayüzü aç
AnythingLLM pod'unda Aç deyin (port 3001). Karşılama sihirbazında model zaten env ile
ayarlı, ileri gidin. Bir çalışma alanı açın ve belgenizi yükleyin.

Doğrulayın
Belgeye özgü bir şey sorun — tarih, kod, madde numarası gibi modelin bilemeyeceği bir detay. Cevabın altında kaynak görünmeli. Görünmüyorsa belge çalışma alanına gömülmemiştir.
Bilmeniz gereken üç ayar
allow_internet_egress: false — şablonda açıkça yazılı. Bu önemli, çünkü alanın
yokluğu "kapalı" demek değil: deploy ekranı ve Atölye koşucusu alan yazılmadığında pod'u
internete açık kuruyor. Şablon artık bunu açıkça kapatıyor.
EMBEDDING_ENGINE: generic-openai — AnythingLLM'in varsayılanı native ve o yerel gömme
motoru modeli ilk kullanımda HuggingFace'ten indirir. Kapalı bir pod'da bu yapılamaz;
belirti sinsidir, sohbet çalışır ama belge yükleme kırılır — yani asıl istediğiniz şey.
Gömme de köprüden alınıyor.
GENERIC_OPEN_AI_MAX_TOKENS: 8192 — AnythingLLM kendi varsayılanı olan max_tokens=1024
ile gider; ölçüldü, uzun cevap tam 1024'te kesiliyor.
Dürüst olunması gereken ayrım. Veri internete gitmiyor — bu ölçüldü. Ama köprü isteği
Gao Kaptan'ın paylaşımlı inference servisine taşıyor, yani veri müşterinin namespace'inden
çıkıp İşNet altyapısına gidiyor. "Hiçbir yere gitmesin" isteniyorsa modeli de müşterinin
kendi namespace'ine koymak gerekir: köprünün kaptan-chat girdisini kendi
vLLM ya da Ollama
pod'unuza çevirmeniz yeterli. KVKK konuşmasında bu iki durum aynı şey değildir.
Ölçülmeyen iki nokta. Şablon WHISPER_PROVIDER=local ve TTS_PROVIDER=native ile geliyor;
ses tarafının kapalı pod'da model indirmeye çalışıp çalışmadığı sınanmadı. Ayrıca internet
kapalıyken pod imaj çekemez — mintplexlabs/anythingllm ve köprü imajının node'lara
dağıtılmış olması gerekir.

Gao Kaptan Docs