Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

₺ Türk Lirası $ US Dollar € Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

₺ Türk Lirası $ US Dollar € Euro

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR
TEKNİK REHBER • TR / EN / DE

Ubuntu 24.04: Qdrant + Ollama + n8n ile Production RAG Kurulumu

Ubuntu 24.04 LTS üzerinde n8n, Ollama ve Qdrant bileşenlerini tek bir RAG hattında birleştirirken ağ, kalıcı veri, embedding uyumu, GPU, güvenlik ve yedeklemeyi birlikte ele alan kapsamlı rehber.

Production öncesi önemli not

Komutları canlı sistemde uygulamadan önce sürüm, yedek, firewall ve geri dönüş planını kendi altyapınızda doğrulayın.

Ubuntu 24.04 LTS Qdrant vector store Ollama local LLM n8n RAG workflow
MİMARİ & TEŞHİS
EKA CORE
Ubuntu 24.04 Qdrant + Ollama + n8n RAG Kurulumu

RAG zincirinde n8n orkestrasyonu, Ollama model/embedding çalıştırmasını, Qdrant ise vektör arama katmanını üstlenir. En sık sorun servislerin çalışmaması değil; yanlış container adresi, uyumsuz embedding dimension, yetersiz VRAM/RAM ve public bırakılmış servis portlarıdır.

RAG mimarisi ve veri akışıProduction odaklı teknik kontrol
Doğrulandı
Sunucu CPU/RAM/VRAM/NVMe planıProduction odaklı teknik kontrol
Doğrulandı
Docker ve servis ağıProduction odaklı teknik kontrol
Doğrulandı
Embedding + Qdrant collection tasarımıProduction odaklı teknik kontrol
Doğrulandı
Resmî kaynak + ölçülebilir test + geri dönüş planı
Bu rehberde neler var?

Sağlıklı bir RAG kurulumu sadece üç container’ı ayağa kaldırmak değildir. Dokümanın parçalanması, aynı embedding modelinin ingest ve sorguda kullanılması, Qdrant collection dimension’ının embedding çıktısıyla eşleşmesi, n8n’in container içinden Ollama/Qdrant servis adlarına erişmesi ve verinin kalıcı volume üzerinde tutulması gerekir.

01

Bu rehberde neler var?

Kurulumdan production’a; mimari, kapasite, Docker ağı, embedding, güvenlik, performans, backup ve teşhisi tek akışta ele alıyoruz.

✓RAG mimarisi ve veri akışı
✓Sunucu CPU/RAM/VRAM/NVMe planı
✓Docker ve servis ağı
✓Embedding + Qdrant collection tasarımı
✓n8n ingest ve retrieval akışı
✓Güvenlik, TLS ve secret yönetimi
✓Backup, monitoring ve hata teşhisi
✓Production benchmark yöntemi

İçindekiler

  1. RAG mimarisi: veri nereye gider, model ne zaman çalışır?
  2. Sunucu kapasitesi: CPU, RAM, VRAM ve NVMe nasıl planlanmalı?
  3. Docker ağı: localhost tuzağı ve servis isimleri
  4. Embedding, chunk ve Qdrant collection tasarımı
  5. n8n içinde ingest ve soru-cevap akışı nasıl ayrılmalı?
  6. Production güvenliği: Qdrant, n8n ve Ollama internete nasıl açılmalı?
  7. Backup, update ve geri dönüş planı
  8. RAG performansı nasıl ölçülmeli?
  9. Bileşen ve ağ matrisi
  10. Vektör depolama ön hesaplayıcısı
  11. Sık görülen RAG hataları ve yanlış teşhisler
  12. Komutlar ve kurulum blokları
  13. Sık sorulan sorular
02

RAG mimarisi: veri nereye gider, model ne zaman çalışır?

RAG akışında kaynak PDF, web içeriği veya kurumsal doküman önce temizlenir ve parçalara ayrılır. Her parça embedding modelinden geçirilerek sayısal vektöre dönüştürülür; vektör ve ilgili metadata Qdrant collection içine yazılır. Kullanıcı soru sorduğunda aynı embedding ailesiyle sorgu vektörü üretilir, Qdrant en yakın parçaları döndürür ve n8n bu bağlamı Ollama’daki sohbet modeline aktarır.

Bu katmanları birbirinden ayırmak teşhisi kolaylaştırır. Ollama cevabı üretiyor diye retrieval doğru çalışıyor varsayılmaz; Qdrant sonuç döndürüyor diye de doğru parçaların geldiği garanti değildir. Production kontrolünde retrieval kalitesi, cevap doğruluğu, p95 gecikme ve kaynak tüketimi ayrı metrikler olarak izlenmelidir.

03

Sunucu kapasitesi: CPU, RAM, VRAM ve NVMe nasıl planlanmalı?

Ubuntu Server’ın taban gereksinimi düşük olsa da RAG iş yükü model ve veri boyutuyla büyür. Ollama için asıl belirleyici model ağırlıkları, context uzunluğu ve GPU offload oranıdır. Qdrant tarafında vektör sayısı, dimension, payload indexleri, quantization, replication ve storage seçimi RAM/disk ihtiyacını belirler.

Ollama güncel dokümantasyonunda context varsayılanlarının VRAM’e göre değiştiğini belirtir; context büyüdükçe bellek ihtiyacı da artar. Bu nedenle 'model açıldı' testi yerine gerçek prompt uzunluğu, eşzamanlı kullanıcı ve retrieval sonuç sayısıyla test yapılmalıdır. NVMe disk özellikle yüksek ingest, snapshot ve büyük collection senaryolarında belirgin avantaj sağlar.

04

Docker ağı: localhost tuzağı ve servis isimleri

Aynı Docker Compose ağı içindeki n8n container’ı için localhost n8n container’ının kendisidir. Ollama ve Qdrant ayrı servislerse n8n credential veya node ayarlarında genellikle Compose servis adları kullanılmalıdır; örneğin http://ollama:11434 ve http://qdrant:6333. Host tarayıcısından test ederken ise yayınlanan localhost portları kullanılabilir.

Production tasarımında Qdrant 6333/6334 ve Ollama 11434 portlarını doğrudan internete açmak yerine private container ağı veya private VLAN tercih edilir. Dış erişim gerekiyorsa reverse proxy, TLS, authentication, allow-list ve rate limit ayrı katmanlarda uygulanmalıdır.

05

Embedding, chunk ve Qdrant collection tasarımı

Collection oluşturulurken vector dimension embedding modelinin gerçek çıktısıyla eşleşmelidir. Model değişirse mevcut collection otomatik olarak uyumlu hale gelmez; yeni dimension veya distance metriği gerekiyorsa yeni collection, yeniden embedding ve kontrollü migration planlanmalıdır.

Chunk boyutu tek başına 'ne kadar büyük o kadar iyi' değildir. Çok küçük parçalar bağlamı kaybedebilir, çok büyük parçalar ise retrieval hassasiyetini düşürüp LLM context maliyetini artırabilir. Doküman türüne göre başlık, paragraf, tablo ve metadata sınırlarını koruyan bir chunk stratejisi; ardından gerçek soru setiyle recall/precision değerlendirmesi daha güvenilirdir.

06

n8n içinde ingest ve soru-cevap akışı nasıl ayrılmalı?

Ingest workflow ile chat/retrieval workflow’unu ayırmak işletimi kolaylaştırır. Ingest tarafı dosya alma, metin çıkarma, temizleme, chunk, embedding ve Qdrant upsert adımlarını yürütür. Sorgu tarafı ise kullanıcı girdisini embedding’e çevirir, Qdrant’tan ilgili parçaları çeker, prompt bağlamını oluşturur ve Ollama chat modelini çağırır.

Aynı workflow içinde her soruda dokümanları yeniden embed etmek ciddi kaynak israfıdır. Ayrıca hata durumlarında hangi katmanın bozulduğunu anlamayı zorlaştırır. Workflow execution logları, Qdrant query sonuçları ve Ollama süreleri aynı request kimliğiyle ilişkilendirilebilirse production teşhisi belirgin şekilde kolaylaşır.

07

Production güvenliği: Qdrant, n8n ve Ollama internete nasıl açılmalı?

Qdrant’ın self-hosted açık kaynak kurulumu varsayılan haliyle production güvenliği sağlamaz; API key, network binding ve TLS bilinçli biçimde yapılandırılmalıdır. Qdrant dokümantasyonu self-hosted instance’ların erişilebildiği takdirde authentication olmadan istek kabul edebileceğini özellikle vurgular.

n8n tarafında encryption key, kullanıcı kimlik doğrulaması, webhook URL’leri ve credential saklama stratejisi yedek planıyla birlikte ele alınmalıdır. .env dosyaları web root altında tutulmamalı; backup alınırken secret’ların ayrı korunması gerekir. Ollama API’si de yalnız ihtiyaç duyan servislerden erişilebilir tutulmalıdır.

08

Backup, update ve geri dönüş planı

Qdrant için yalnız container image yedeği almak veriyi korumaz; kalıcı storage ve mümkünse Qdrant snapshot mekanizması ayrı planlanmalıdır. n8n için workflow/credential verisinin bulunduğu kalıcı veritabanı ve encryption key birlikte korunmalıdır. Model dosyaları yeniden indirilebilir olsa da büyük model cache’leri için restore süresi kapasite planına dahil edilmelidir.

Güncellemede bütün stack’i aynı anda yükseltmek yerine image sürümleri kaydedilir, backup alınır, staging üzerinde workflow testleri çalıştırılır ve sonrasında kontrollü geçiş yapılır. Embedding modelini değiştirmek uygulama güncellemesi değil veri migration’ıdır; yeniden indeks maliyeti önceden ölçülmelidir.

09

RAG performansı nasıl ölçülmeli?

Tek metrik tokens/s değildir. İlk yanıt süresi, toplam cevap süresi, Qdrant query p95, embedding süresi, retrieval isabeti, context token sayısı, GPU/CPU kullanımı ve hata oranı birlikte izlenmelidir. Aynı test soruları ve aynı collection snapshot kullanılmadan iki sunucuyu kıyaslamak sağlıklı değildir.

Modelin tamamı GPU’da kalabiliyorsa latency genellikle daha öngörülebilir olur; CPU offload başladığında context ve concurrency artışı beklenenden fazla gecikme üretebilir. Ollama tarafında gerçek offload ve context değerleri `ollama ps` ile doğrulanabilir.

MAP

Bileşen ve ağ matrisi

Kurulumdan production’a; mimari, kapasite, Docker ağı, embedding, güvenlik, performans, backup ve teşhisi tek akışta ele alıyoruz.

BileşenGörevAğ / portProduction notu
n8nWorkflow orkestrasyonu, ingest ve chat akışı5678 yalnız reverse proxy/private ağEncryption key, DB backup, TLS ve erişim kontrolü
OllamaLLM ve embedding modellerini çalıştırır11434 private container ağıModel/VRAM/context doğrulanmalı; public API bırakılmamalı
QdrantVektör + payload saklama ve similarity search6333 HTTP, 6334 gRPC; public yerine privateAPI key, bind, TLS, snapshot ve monitoring
PostgreSQLn8n kalıcı verisi için önerilen DB katmanı5432 sadece internal ağDüzenli backup, güçlü parola ve disk izleme
Reverse ProxyHTTPS, domain ve dış trafik girişi80/443 publicTLS, rate limit, header ve timeout ayarları
CALC

Vektör depolama ön hesaplayıcısı

Bu sonuç tahmindir; production kararı gerçek ölçüm ve test ile verilmelidir.

ERR

Sık görülen RAG hataları ve yanlış teşhisler

Sağlıklı bir RAG kurulumu sadece üç container’ı ayağa kaldırmak değildir. Dokümanın parçalanması, aynı embedding modelinin ingest ve sorguda kullanılması, Qdrant collection dimension’ının embedding çıktısıyla eşleşmesi, n8n’in container içinden Ollama/Qdrant servis adlarına erişmesi ve verinin kalıcı volume üzerinde tutulması gerekir.

Belirti / problemMuhtemel katmanİlk doğrulama
n8n Ollama’ya bağlanamıyorContainer network / yanlış localhostn8n container içinden `http://ollama:11434` erişimini doğrulayın.
Qdrant dimension error veriyorEmbedding modeli ile collection schema uyumsuzEmbedding çıktısının dimension değerini ve collection vector config’i karşılaştırın.
RAG cevap veriyor ama yanlış kaynak getiriyorChunking / embedding / retrieval ayarıAynı gerçek soru setinde top-k sonuçlarını elle inceleyin; chunk metadata ve embedding modelini kontrol edin.
GPU var fakat Ollama CPU kullanıyorDriver/runtime veya model offload`nvidia-smi` ve `ollama ps` ile GPU görünürlüğü ve PROCESSOR alanını doğrulayın.
Qdrant restart sonrası veri yokKalıcı volume yanlış veya yokContainer mount ve Qdrant storage yolunu kontrol edin; snapshot stratejisini test edin.
n8n güncelleme sonrası credential açılamıyorEncryption key değişmiş olabilirEski encryption key ve DB backup eşleşmesini doğrulayın; rastgele yeni key ile devam etmeyin.
FLOW

Kurulum ve doğrulama akışı

Kurulumdan production’a; mimari, kapasite, Docker ağı, embedding, güvenlik, performans, backup ve teşhisi tek akışta ele alıyoruz.

1

Ubuntu ve Docker tabanını doğrula

24.04 LTS güncellemelerini, disk alanını, Docker Engine/Compose ve gerekiyorsa NVIDIA container runtime’ı kontrol edin.

2

Stack’i private ağda ayağa kaldır

n8n, Ollama, Qdrant ve DB servislerinin aynı Compose ağında birbirini servis adıyla görebildiğini doğrulayın.

3

Embedding modelini sabitle

Model adını, dimension’ı, distance metriğini ve chunk stratejisini dokümante edin.

4

Ingest workflow’u kur

Kaynak → temizleme → chunk → embedding → Qdrant upsert zincirini ayrı workflow olarak test edin.

5

Retrieval/chat workflow’u kur

Soru → embedding → Qdrant top-k → prompt context → Ollama chat zincirini gerçek sorularla ölçün.

6

Güvenlik ve backup ekle

Public portları azaltın, TLS/API key/secret yönetimini tamamlayın ve restore testi yapın.

7

Load testi ve gözlemleme yap

p95 latency, retrieval kalitesi, CPU/RAM/VRAM, disk ve hata oranını eşzamanlı yük altında kaydedin.

CLI

Komutlar ve kurulum blokları

Kurulumdan production’a; mimari, kapasite, Docker ağı, embedding, güvenlik, performans, backup ve teşhisi tek akışta ele alıyoruz.

Docker ve Compose doğrulama
docker --version && docker compose version
Resmî n8n AI Starter Kit
git clone https://github.com/n8n-io/self-hosted-ai-starter-kit.git
cd self-hosted-ai-starter-kit
cp .env.example .env
CPU profili ile başlatma
docker compose --profile cpu pull
docker compose --profile cpu up -d
NVIDIA GPU profili
nvidia-smi
docker compose --profile gpu-nvidia pull
docker compose --profile gpu-nvidia up -d
Servis durumları
docker compose ps
curl -fsS http://127.0.0.1:6333/
curl -fsS http://127.0.0.1:11434/api/tags
Ollama model ve context kontrolü
ollama list
ollama ps
Log teşhisi
docker compose logs --tail=150 n8n qdrant
docker compose logs --tail=150 ollama-cpu ollama-gpu 2>/dev/null || true
TEKNİK ÖN DEĞERLENDİRME

RAG sunucunuzu teknik olarak planlayalım

Model, veri boyutu, eşzamanlı kullanıcı, GPU tercihi ve hedef latency bilgilerini paylaşırsanız CPU/RAM/VRAM/NVMe ve servis ayrıştırma planını teknik olarak değerlendirebiliriz.

Telefon & WhatsApp0850 307 34 58İlk aşamada şifre veya API anahtarı göndermeyin.
SRC

Resmî ve teknik kaynaklar

Kurulumdan production’a; mimari, kapasite, Docker ağı, embedding, güvenlik, performans, backup ve teşhisi tek akışta ele alıyoruz.

EKA

İlgili Eka Sunucu sayfaları

Kurulumdan production’a; mimari, kapasite, Docker ağı, embedding, güvenlik, performans, backup ve teşhisi tek akışta ele alıyoruz.

FAQ

Sık sorulan sorular

Sağlıklı bir RAG kurulumu sadece üç container’ı ayağa kaldırmak değildir. Dokümanın parçalanması, aynı embedding modelinin ingest ve sorguda kullanılması, Qdrant collection dimension’ının embedding çıktısıyla eşleşmesi, n8n’in container içinden Ollama/Qdrant servis adlarına erişmesi ve verinin kalıcı volume üzerinde tutulması gerekir.

n8n, Ollama ve Qdrant aynı sunucuda çalışabilir mi?

Evet. Küçük ve orta ölçekli RAG sistemlerinde aynı sunucu pratik olabilir; ancak CPU/RAM/VRAM ve disk contention gerçek yükle ölçülmelidir. Büyümede Qdrant, model serving ve workflow katmanlarını ayırmak daha yönetilebilir olabilir.

Qdrant için 6333 portunu internete açmalı mıyım?

Genellikle hayır. n8n aynı private ağdaysa Qdrant’ı private tutmak daha güvenlidir. Dış istemci gerekiyorsa API key, TLS, network restriction ve mümkünse reverse proxy/VPN uygulanmalıdır.

Embedding modeli değişirse collection’ı kullanmaya devam edebilir miyim?

Dimension ve embedding uzayı değişebileceği için mevcut vektörlerin yeni modelle karıştırılması doğru değildir. Yeni collection ve yeniden embedding migration’ı daha güvenilir yaklaşımdır.

RAG için GPU şart mı?

Qdrant ve n8n için şart değildir. Ollama modelinin boyutuna, hedef latency’ye ve concurrency’ye göre GPU önemli hız kazandırabilir. Küçük modeller CPU’da da çalışabilir ancak production hedefi benchmark ile belirlenmelidir.

n8n AI Starter Kit doğrudan production için yeterli mi?

Resmî starter kit hızlı öğrenme ve PoC amacıyla güçlü bir başlangıçtır; production’da HA, güvenlik, yedekleme, secret yönetimi, monitoring ve ölçekleme ayrıca tasarlanmalıdır.

Qdrant verisini S3 veya NFS üzerinde doğrudan tutabilir miyim?

Qdrant dokümantasyonu kalıcı storage için POSIX uyumlu block-level storage ister ve NFS/object storage yaklaşımını çalışma storage’ı olarak uygun görmez. Snapshot/backup hedefi ayrı değerlendirilebilir.

Ollama context büyütmek neden VRAM tüketimini artırıyor?

Context token sayısı büyüdükçe modelin çalışma belleği de artar. Ollama dokümantasyonu büyük context’in daha fazla bellek gerektirdiğini belirtir; gerçek kullanım `ollama ps` ile kontrol edilmelidir.

RAG kalitesini nasıl ölçmeliyim?

Önceden hazırlanmış gerçek soru-cevap setinde retrieval top-k sonuçlarını, kaynak doğruluğunu, cevap doğruluğunu ve latency’yi birlikte ölçün. Sadece modelin akıcı cevap vermesi RAG’in doğru çalıştığını göstermez.

EKA SUNUCU

RAG sunucunuzu teknik olarak planlayalım

Model, veri boyutu, eşzamanlı kullanıcı, GPU tercihi ve hedef latency bilgilerini paylaşırsanız CPU/RAM/VRAM/NVMe ve servis ayrıştırma planını teknik olarak değerlendirebiliriz.

Telefon & WhatsApp0850 307 34 58ekasunucu.com
Top