Ana içeriğe geç

LLM Gateway'e AI RAG Injection Politikası Eklenmesi

Bu senaryoda daha önce oluşturulan Knowledge Base, bir LLM Gateway üzerine AI RAG Injection politikası eklenerek bağlanacaktır.

Böylece istemciden gelen soru önce Knowledge Base içinde aranır; bulunan doküman parçaları chat modeline bağlam olarak eklenir ve model bu bağlama göre cevap üretir.

Aşağıdaki grafikte yer alan numaralandırmalar işlemlerin yapılış sırasına aittir.

  • API Client soruyu LLM Gateway'e gönderir.
  • AI RAG Injection soruyu embedding'e çevirip Knowledge Base / Vector DB içinde arar.
  • Bulunan parçalar isteğe system / context olarak eklenir.
  • Chat LLM bağlama göre cevap üretir.
  • Yanıt API Client'a döner.
bilgi

Bu senaryo öncesi şu yapılandırmaların hazır olması gerekir:

  1. Embedding Provider + Vector DB
    → RAG için Embedding Provider ve Vector DB Oluşturulması
  2. Knowledge Base ve indexlenmiş doküman
    → Knowledge Base Oluşturulması ve Doküman Indexlenmesi
  3. Chat modeli tanımlı bir LLM Gateway
    (ör. DeepSeek / deepseek-chat)
uyarı

LLM Gateway Primary Routing alanına embedding modeli (all-minilm) konulmamalıdır.

  • Primary Routing / LLM Provider = chat modeli (deepseek-chat, phi3:mini vb.)
  • Embedding = Knowledge Base ve AI RAG Injection içinde kullanılır

LLM Gateway'in Seçilmesi​

AI Gateway menüsü altında yer alan LLM Gateway seçeneğine tıklanır.

Chat için kullanılacak proxy seçilir. Bu senaryoda örnek olarak DeepSeek chat modeli tanımlı bir LLM Gateway kullanılır.

AI RAG Injection Politikasının Eklenmesi​

Seçilen LLM Gateway içinde Develop sekmesine tıklanır.

Request hattında Actions ardından Add Policy butonuna tıklanır.

Açılan politika listesinde AI Policies altında yer alan AI RAG Injection seçilir.

Add AI RAG Injection

Politika Alanlarının Doldurulması​

Connection Settings​

AlanDeğer
EnabledAçık
Knowledge BaseÖnceki senaryoda oluşturulan KB
Vector DB ConnectionPgVector bağlantısı (KB seçilince otomatik dolar)
Embedding ProviderOllama Embedding provider
Collection Nameollama_kb
RAG Connection Settings
ipucu

Knowledge Base dropdown'ından KB seçildiğinde Vector DB, Embedding Provider ve Collection Name alanları otomatik doldurur.

Retrieval Parameters​

AlanÖnerilen DeğerAçıklama
Top K Results4Döndürülecek en yakın parça sayısı
Similarity Threshold0.50Benzerlik eşiği; çok yüksek tutulursa (0.70+) eşleşme kaçabilir
Max Context Characters8000Modele eklenecek bağlam üst sınırı
Embedding Model<embedding-modeliniz>Knowledge Base ile aynı model
Embedding Dimension384all-minilm için zorunlu
uyarı

Embedding Model alanında varsayılan olarak text-embedding-3-small gelebilir. Bu değer mutlaka all-minilm:latest olarak değiştirilmelidir.

Embedding Dimension alanında 1536 geliyorsa 384 yapılmalıdır. Aksi halde arama/index uyumsuzluğu oluşur.

Injection Settings​

AlanÖnerilen Değer
Injection ModePrepend to System Message
On No MatchPass Through (no context)
Injection TemplateVarsayılan template kullanılabilir

Örnek template:

<CONTEXT>
{{context}}
</CONTEXT>

{{prompt}}

İsteğe bağlı olarak modelin yalnızca bağlama dayanmasını sağlamak için template güçlendirilebilir:

Aşağıdaki CONTEXT dışındaki bilgilere dayanma. Sadece CONTEXT'ten cevap ver.
<CONTEXT>
{{context}}
</CONTEXT>

Politika kaydedilir.

Yapılan işlemin geçerli olması için LLM Gateway Deploy edilir.

Test Edilmesi​

LLM Gateway test ekranı veya istemci üzerinden yeni bir sohbet ile soru gönderilir.

Örnek istek:

{
"model": "deepseek-chat",
"messages": [
{
"role": "user",
"content": "Apinizer nedir?"
}
],
"stream": true
}
ipucu

Test sırasında:

  • Yeni sohbet açılması önerilir. Eski geçmiş, modelin Knowledge Base yerine önceki genel cevaplara bakmasına yol açabilir.
  • Knowledge Base içeriğine özgü bir soru sorulmalıdır (ör. dokümanda geçen ifade).

RAG'ın Çalıştığının Doğrulanması​

Analitik menüsü altındaki Trafik ekranında AI görünümü seçilir. İlgili istek açılır ve Request to Target API sekmesine bakılır.

RAG çalışıyorsa target body içinde Knowledge Base dokümanına ait metin system veya context alanında görünür.

Request to Target with CONTEXT

Beklenen cevap, Knowledge Base dokümanındaki bilgiye yakın olmalıdır.

Örnek:

Apinizer, API ve AI trafiğini yönetmek, güvenlik ve politikalar uygulamak için kullanılan bir API ve AI Gateway ürünüdür.

bilgi

Target request içinde bağlam görünüyor ancak cevap genel bilgiye kayıyorsa, sohbet geçmişini temizleyip tek mesajla yeniden test edin. Gerekirse Injection Template'e "sadece CONTEXT'ten cevap ver" kuralı eklenebilir.

Özet​

Bu senaryoda:

  • Chat LLM Gateway seçildi
  • AI RAG Injection politikası eklendi
  • Knowledge Base / Embedding / Collection bağlandı
  • Proxy deploy edilerek RAG akışı test edildi

Böylece Embedding Provider → Vector DB → Knowledge Base → AI RAG Injection zinciri tamamlanmış olur.