−25%

yıllık Windows ödemesinde, 31 Ekim'e kadar. Paketlere git

EQVPS
Hemen başla

Yapay zeka ajanı belleği için bir vektör veritabanını bir VPS'te barındır

15 Haz 2026 · 3 dk okuma · EQVPS Team

Belleksiz bir yapay zeka ajanı her konuşmada kendini yeniden tanıtmakta takılıp kalır. Çözüm bir vektör veritabanıdır — dokümanlarının, notlarının ya da geçmiş sohbetlerinin gömmelerini saklar, böylece ajan ilgili parçaları talep üzerine hatırlayabilir (RAG'daki "R" budur). Bunu yönetilen bir hizmet olarak kiralayabilir ya da onu bir VPS'te kendin çalıştırıp verini — ki çoğu zaman senin özel verindir — kontrol ettiğin bir kutuda tutabilirsin. İşte nasıl ve RAM'de gerçekte neye mal olduğu.

İki iyi seçenek

Egzotik bir şeye ihtiyacın yok. İki yol neredeyse herkesi kapsar:

pgvector — bir Postgres uzantısı. Zaten Postgres çalıştırıyorsan (ya da çalıştırmaktan memnunsan), bu, zaten sahip olduğun veritabanına vektör araması ekler. Tek hizmet, tek yedek, bildiğin SQL. Farkla en az çabalı başlangıç.

Qdrant — amaca özel bir vektör motoru. Çok sayıda vektörün (düşük milyonlar+) olduğunda ya da hızlı meta veri filtrelemesi ve özel bir API istediğinde ona başvur. Çalıştırılacak ayrı bir hizmettir ama tam olarak bu iş için yapılmıştır.

Ayaklarını yeni bulan çoğu ajan için pgvector doğru ilk cevaptır. Onu aştığında Qdrant'a geç, önce değil.

RAM gerçeği (bu, insanların hafife aldığı kısım)

Vektör araması hızlıdır çünkü indeks bellekte yaşar — o yüzden gerçek kısıtın disk değil RAM'dir. Kaba bir rehber:

  • Birkaç yüz bin gömme — 2 GB'da rahat.
  • Düşük milyonlar — 4 GB+ planla ve indeksi ayarla.
  • Disk kolay kısımdır: bir milyon gömme yalnızca birkaç GB'dır, o yüzden 25–45 GB ciddi bir depoyu kapsar.

Yani dosyaya göre değil, indekse göre boyutlandır. (Genel boyutlandırma kılavuzuyla aynı mantık — ağır şey ölçene kadar belli olmaz.)

Hızlı başlangıç: pgvector

Postgres'li bir kutuda (Docker en kolayı — n8n'i kendi kendine barındırmakla aynı desen):

CREATE EXTENSION IF NOT EXISTS vector;

CREATE TABLE memory (
  id bigserial PRIMARY KEY,
  content text,
  embedding vector(1536)        -- gömme modelinin boyutlarıyla eşleştir
);

-- verin olduğunda, hızlı arama için bir indeks kur:
CREATE INDEX ON memory USING hnsw (embedding vector_cosine_ops);

Ajanın content + gömmesini ekler, sonra en yakın anıları çekmek için ORDER BY embedding <=> $query_embedding LIMIT 5 ile sorgular. Tüm döngü bu.

Qdrant'ı mı tercih ediyorsun? HTTP/gRPC API'si sunan tek bir Docker konteyneridir; vektör boyutunla bir koleksiyon oluşturup noktaları upsert edersin. Aynı fikir, özel motor.

Ajanla bir kutuyu paylaşabilir mi?

Evet — küçük ila orta bellek depoları için, vektör veritabanını ajanla aynı VPS'te çalıştır. Daha basittir ve gecikme temelde sıfırdır. Onları ayrı sunuculara ancak biri diğerini RAM'den sıkıştırmaya başladığında böl. Bu sonraki, güzel-bir-sorun kararıdır, ilk gün değil.

Dürüst uyarılar

  • Duvar RAM'dir ve sessizdir. Arama, indeks artık belleğe sığmayana kadar hızlı kalır, sonra bozulur. Belleği izle ve seni ısırmadan önce büyüt — yavaş sorguların söylemesini bekleme.
  • Gömmeler oluşturmak token'a mal olur. Gömdüğün her doküman bir gömme modeline bir API çağrısıdır. Depoyu barındırmak ucuzdur; vektörleri üretmek yinelenen maliyettir — bir ajanı çalıştırmanın gerçekte neye mal olduğuyla ilgili.
  • Yedekle. Ajanının belleği de her veri gibi veridir. Önemliyse, anlık görüntüsünü al.

Bunun içinde, kendi kendine barındırılan bir vektör deposu, özel verini üçüncü bir tarafa vermeden bir ajana kalıcı bellek vermenin temiz bir yoludur. 2 GB'lık bir kutuda pgvector ile başla, RAM'e göz kulak ol ve Qdrant'a ya da daha büyük bir plana ancak sayılar söylediğinde büyü.

SSS

pgvector mı Qdrant mı — hangisini kendi kendime barındırmalıyım?

Zaten Postgres çalıştırıyorsan (ya da hem uygulama verin hem gömmelerin için tek veritabanı istiyorsan), pgvector en az çabalı seçimdir — sadece bir uzantı. Milyonlarca vektörün varsa ya da hızlı filtrelemeli, amaca özel bir motor istiyorsan, Qdrant ayrı hizmete değer. Başlayan çoğu ajan için Postgres üzerinde pgvector fazlasıyla yeter.

Bir vektör veritabanı ne kadar RAM'e ihtiyaç duyar?

Tahmininden fazla, çünkü iyi arama indeksi bellekte ister. Kaba bir kural: birkaç yüz bin gömme 2 GB'a rahat oturur; düşük milyonlara ulaşınca 4 GB+ planla ve indeksi ayarla. 2 GB'da başla, belleği izle, arama yavaşladığında büyüt.

Neden yönetilen bir tane yerine bir vektör deposunu kendi kendime barındırayım?

İnsanların gerçekten yaptığı iki sebep: gömmelerin çoğu zaman özel verini içerir (notlar, dokümanlar, müşteri içeriği) ve kendi kendine barındırılan bir depo bunu senin kontrol ettiğin bir sunucuda tutar. Ve düz maliyetlidir — yönetilen bir vektör hizmeti vektöre ve sorguya göre faturalandırır, oysa bir VPS aylık tek bir rakamdır, sorgu başına sayaç yoktur.

Bir vektör veritabanı ve ajanım aynı VPS'te çalışabilir mi?

Evet, küçük ila orta iş yükleri için — ajanı ve bir pgvector/Qdrant örneğini tek bir kutuda bir arada tutmak basittir ve gecikmeyi neredeyse sıfıra indirir. Onları ayrı sunuculara bölmeyi ancak biri diğerini RAM'den aç bırakmaya başladığında yap; bu sonradan gelen güzel bir sorundur, ilk gün endişesi değil.

Gömmeler çok disk mi kullanır?

Tek bir gömme birkaç kilobayttır, o yüzden bir milyonu birkaç gigabayt artı indeks yüküdür — anlamlı ama devasa değil. 25–45 GB disk çoğu ajan için önemli bir bellek deposunu kapsar. Genelde çarptığın ilk sınır disk değil, RAM'dir.

Yorumlar

Henüz yorum yok. İlk olun.

Bir yorum bırakın

Yorumlar görünmeden önce denetlenir.