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.
Bu senaryo öncesi şu yapılandırmaların hazır olması gerekir:
- Embedding Provider + Vector DB
→ RAG için Embedding Provider ve Vector DB Oluşturulması - Knowledge Base ve indexlenmiş doküman
→ Knowledge Base Oluşturulması ve Doküman Indexlenmesi - Chat modeli tanımlı bir LLM Gateway
(ör. DeepSeek /deepseek-chat)
LLM Gateway Primary Routing alanına embedding modeli (all-minilm) konulmamalıdır.
- Primary Routing / LLM Provider = chat modeli (
deepseek-chat,phi3:minivb.) - 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.
Politika Alanlarının Doldurulması
Connection Settings
| Alan | Değer |
|---|---|
| Enabled | Açık |
| Knowledge Base | Önceki senaryoda oluşturulan KB |
| Vector DB Connection | PgVector bağlantısı (KB seçilince otomatik dolar) |
| Embedding Provider | Ollama Embedding provider |
| Collection Name | ollama_kb |
Knowledge Base dropdown'ından KB seçildiğinde Vector DB, Embedding Provider ve Collection Name alanları otomatik doldurur.
Retrieval Parameters
| Alan | Önerilen Değer | Açıklama |
|---|---|---|
| Top K Results | 4 | Döndürülecek en yakın parça sayısı |
| Similarity Threshold | 0.50 | Benzerlik eşiği; çok yüksek tutulursa (0.70+) eşleşme kaçabilir |
| Max Context Characters | 8000 | Modele eklenecek bağlam üst sınırı |
| Embedding Model | <embedding-modeliniz> | Knowledge Base ile aynı model |
| Embedding Dimension | 384 | all-minilm için zorunlu |
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 Mode | Prepend to System Message |
| On No Match | Pass Through (no context) |
| Injection Template | Varsayı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
}
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).