gaogaoGao Kaptan Docsv0.90.x
Örnekler

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):

testAnythingLLMKöprü
1.1.1.1:443kapalıaçık
8.8.8.8:443kapalıaçık
1.1.1.1:80kapalıaçık
93.184.216.34:80kapalıaçık
kube-dns 10.96.0.10:53açık—
curl https://huggingface.co000—

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.
  • curl satırının 000 dö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ımsonuç
köprüden sohbet200, gerçek cevap
köprüden gömme200, 2560 boyutlu vektör
belge yüklemeyerel collector işledi
çalışma alanına gömmevectorCount: 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.

AnythingLLM — sohbet arayüzü (relay üzerinden)

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.

Bu sayfa yardımcı oldu mu?

On this page