Bilgi TabanıAsistana Bağlama

Bilgi Tabanını Asistana Bağlama

Bir bilgi tabanı oluşturmak tek başına hiçbir şey değiştirmez — asistanın onu görebilmesi için önce ona bağlaman gerekir. Bağlantı kurulduğu andan itibaren asistan, görüşme sırasında müşteri ürün/fiyat/SSS gibi bir soru sorduğunda bilgi tabanında arama yapmakla yükümlü hale gelir; bağlı değilse aynı soruda “onu öğrenip size döneyim” der, kafadan uydurmaz.

İki farklı bilgi mekanizması

Purvisor AI’da asistana bilgi vermenin iki yolu var ve bunlar birbirinin yerine geçmez:

Çekirdek BilgiBilgi Tabanı (RAG)
Ne zaman kullanılırKüçük, kesin, her zaman lazım olan olgularBüyük, aranabilir katalog/doküman içeriği
Nasıl çalışırMetin doğrudan sistem prompt’una eklenir — her turda asistanın “elinin altında”Asistan gerektiğinde bilgi_tabani_ara aracını çağırır, ilgili parçalar aranıp getirilir
Boyut sınırı4.000 karakterDoküman sayısı ve boyutuyla sınırlı değil (chunk’lanıp vektör olarak saklanır)
Örnek içerikÇalışma saatleri, adres, ana ürün/fiyatlar, marka adı, iade politikasıÜrün katalogları, SSS dokümanları, fiyat listeleri, teknik dokümantasyon
Nereden ayarlanırAsistan formunda “Çekirdek Bilgi” alanıAsistan formunda “Bilgi Tabanı (RAG)” bölümünden bilgi tabanı seç

Panelde bu ayrım net yazılıdır: Çekirdek Bilgi alanının altında “Küçük ve kesin bilgiler için — büyük katalog için Bilgi Tabanı’nı (RAG) kullanın” notu bulunur.

Çekirdek Bilgi retrieval (arama) içermez — arattırmadan direkt prompt’a girer, bu yüzden 4.000 karakterle sınırlıdır. Bilgi Tabanı ise RAG (Retrieval-Augmented Generation): asistan konuşma sırasında ilgili soruyu algılar, arama aracını çağırır, en alakalı parçaları alır ve kendi cümleleriyle anlatır — “bilgi tabanına göre” demeden.

İkisi birlikte de çalışır: Çekirdek Bilgi’de olmayan bir olgu sorulduğunda ve bir bilgi tabanı bağlıysa, asistan otomatik olarak RAG aramasına geçer. Hiçbiri yoksa ve soru olgusalsa, asistan “doğrulanmış bilgim yok” diyerek uydurmadan kaçınır.

Bağlama yöntemleri

Bilgi tabanını bir asistana bağlamanın iki yolu var — hangisini kullandığın nereden başladığına bağlı:

Asistan tarafından (form üzerinden)

Asistan oluşturma veya düzenleme ekranında “Bilgi Tabanı (RAG)” bölümünde mevcut bilgi tabanların onay kutusu (checkbox) listesi olarak gelir. Seçtiklerin çoklu seçim — bir asistana en fazla 10 bilgi tabanı bağlanabilir. Kaydettiğinde önceki bağlantı seti tamamen bu yeni seçimle değiştirilir (ekleme değil, senkron).

📸 [Ekran görüntüsü: Asistan detay/düzenleme paneli — “Çekirdek Bilgi” metin alanı + altında “Bilgi Tabanı (RAG)” onay kutulu liste]

Bilgi tabanı tarafından (tek tek ekle/çıkar)

Bilgi tabanı detay sayfasından da tersi yönde çalışabilirsin: o bilgi tabanına hangi asistanların bağlı olduğunu görür, tek tek asistan ekleyip çıkarabilirsin. Bu, aynı bilgi tabanını (örn. tek bir ürün kataloğu) birden çok asistana dağıtırken daha pratiktir.

# Bağlı asistanları listele
GET /api/knowledge-bases/{id}/assistants
 
# Bir asistanı bu bilgi tabanına bağla
POST /api/knowledge-bases/{id}/assistants
Content-Type: application/json
 
{ "assistantId": "..." }
 
# Bağlantıyı kaldır
DELETE /api/knowledge-bases/{id}/assistants?assistantId=...

Aynı bilgi tabanı zaten bağlıysa POST 409 Already linked döner; sahiplik doğrulanır (başka kullanıcının asistanı/bilgi tabanı bağlanamaz).

Bağlantı sonrası ne olur?

Asistan bağlantıyı görür

Asistanın kaydında artık bağlı bilgi tabanı ID’leri var. Görüşme başlarken bu liste asistana (LiveKit oda metadata’sı üzerinden) iletilir.

Sistem prompt’u güncellenir

Bir bilgi tabanı bağlıysa (veya asistan ID’si mevcutsa), asistanın talimatlarına otomatik olarak şu kural eklenir: müşteri ürün, marka, fiyat, bölge, çalışma saati, özellik veya SSS ile ilgili herhangi bir olgusal soru sorduğunda, asistan önce bilgi tabanı arama aracını çağırmak zorundadır — aramadan olgu bildiremez, gerçek marka/ürün isimlerini “A markası” gibi anonimleştiremez.

Görüşme sırasında arama tetiklenir

Müşteri olgusal bir şey sorduğunda asistan bilgi_tabani_ara aracını çağırır, bağlı bilgi tabanlarında (veya asistana bağlı tüm bilgi tabanlarında) anlamsal (semantic) arama yapılır, en alakalı parçalar bulunup asistana döner; asistan bunu kendi cümleleriyle aktarır.

Arama parametreleri

Bilgi tabanı araması pgvector ile kosinüs benzerliği (cosine similarity) kullanır — sorunun embedding’i, kayıtlı chunk embedding’leriyle karşılaştırılır ve en yakın olanlar döner. İki parametre sonucu belirler:

ParametreAnlamıAPI varsayılanıSesli görüşmede kullanılan varsayılan
limitEn fazla kaç chunk (parça) döner58 (RAG_SEARCH_LIMIT env değişkeni)
minSimilarityChunk’ın döneceği en düşük benzerlik eşiği (0-1 arası)0,30,45 (RAG_MIN_SIMILARITY env değişkeni)

Sesli asistan gerçek bir görüşmede aramayı yaparken kendi (daha sıkı) varsayılanlarını kullanır — minSimilarity 0,45 ile alakasız/gürültülü eşleşmeler elenir, limit 8 ile asistana yeterince bağlam verilir. Bu ikisi backend ortam değişkenleriyle ayarlanır, panelden değiştirilemez.

Arama, yalnızca embedding’i işlenmiş (yani dokümanı başarıyla parçalanıp vektörleştirilmiş) chunk’larda çalışır. Bir doküman hâlâ pending durumundaysa veya işleme failed olmuşsa, o dokümanın içeriği aramada görünmez — bkz. Doküman Yükleme.

⚠️

Bilgi tabanı silindiğinde (soft delete) veya bir doküman kaldırıldığında, ilgili chunk’lar aramadan derhal düşer — asistan artık o içeriğe erişemez. Silinen bir dokümanın chunk’ı, bağlı olduğu doküman kaydı hâlâ arama sonucuna sızmasın diye ayrıca filtrelenir.

Bir bilgi tabanının kaç asistana bağlı olduğunu görme

Bilgi tabanı detayında assistantCount alanı, o bilgi tabanına bağlı asistan sayısını; documentCount yüklü doküman sayısını; chunkCount ise fiilen aranabilir (vektörleştirilmiş) parça sayısını gösterir. chunkCount 0 ise — dokümanlar yüklenmiş görünse bile — arama sonuç döndürmez; işleme henüz bitmemiş veya başarısız olmuş demektir.

İyi uygulamalar

  • Çekirdek Bilgi’yi boş bırakma — bilgi tabanı bağlı olsa bile, en azından şirket adı/çalışma saatleri gibi temel olgular çekirdek bilgide dursun; RAG araması her zaman “bulur” garantisi vermez.
  • Bir asistana çok fazla alakasız bilgi tabanı bağlama — 10 sınırı var ama gereksiz genişlik, aramanın doğru dokümanı bulma isabetini düşürür.
  • Aynı kataloğu birden çok asistana bağlamaktan çekinme — bir bilgi tabanı aynı anda birden fazla asistana bağlanabilir (örn. hem satış hem destek asistanı aynı ürün kataloğunu kullanabilir).
  • KVKK — bilgi tabanına kişisel veri (müşteri listesi, özel sözleşme vb.) değil, ürün/şirket bilgisi yükle; kişisel veriler kontak kayıtlarında, ayrı bir gizlilik rejiminde tutulmalı.

Sorun giderme

BelirtiOlası neden / çözüm
Asistan bilgi tabanındaki bilgiyi hiç kullanmıyorBağlantı kurulmamış (knowledgeBaseIds boş) veya dokümanlar hâlâ işleniyor (chunkCount: 0)
Asistan “onu öğrenip döneyim” diyor ama bilgi aslında varSoru, minSimilarity eşiğinin altında kaldı — dokümanı daha net/anahtar kelime içeren şekilde yeniden yaz veya doküman içeriğini gözden geçir
Yanlış/eski bilgi söylüyorDoküman güncellenmemiş — eski dokümanı sil, güncelini yükle (chunk’lar dokümanla birlikte silinir)
Çekirdek Bilgi kaydedilmiyor4.000 karakter sınırı aşılmış olabilir — alan bu sınırın üstünü kabul etmez
409 Already linked hatasıBilgi tabanı zaten o asistana bağlı — tekrar eklemeye gerek yok

İlgili