Dashboard
SmartRAG Dashboard - tarayıcı tabanlı doküman yönetimi ve chat arayüzü
Genel Bakış
SmartRAG, yerleşik tarayıcı tabanlı bir web arayüzü (Dashboard) içerir. Dashboard etkinleştirildiğinde:
- Doküman yönetimi: Tarayıcıdan dokümanları listeleme, yükleme ve silme
- Desteklenen tipler: Sadece SmartRAG’in desteklediği doküman tipleri yüklenebilir (PDF, Word, Excel, metin, görsel, ses vb.)
- Chat: O an yapılandırılmış AI modeli ile sohbet (SmartRAG konfigürasyonundaki aynı provider ve model)
Dashboard varsayılan olarak /smartrag yolunda sunulur ve geliştirme veya güvenilen ortamlar için tasarlanmıştır. Kendi kimlik doğrulama veya yetkilendirmenizi eklemeden production ortamında herkese açık bırakmayın.
Kurulum
ASP.NET Core projenize SmartRAG paketini ekleyin (Dashboard dahildir):
dotnet add package SmartRAG
Yapılandırma
Program.cs (veya startup) içinde SmartRAG ve dashboard’u kaydedin:
using SmartRAG.Extensions;
using SmartRAG.Dashboard;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSmartRag(builder.Configuration);
builder.Services.AddSmartRagDashboard(options =>
{
options.Path = "/smartrag";
options.EnableInDevelopmentOnly = true;
});
var app = builder.Build();
app.UseRouting();
app.UseSmartRagDashboard("/smartrag");
app.MapSmartRagDashboard("/smartrag");
app.MapControllers();
app.Run();
- Path: Dashboard’un temel yolu (varsayılan
/smartrag). Tüm UI ve API rotaları bu yol altındadır. - EnableInDevelopmentOnly:
trueiken dashboard sadece Development ortamında çalışır; diğer ortamlarda 404 döner. Production’da açmak istiyorsanızfalseyapıp erişimi kendiniz kısıtlamalısınız. - AuthorizationFilter: Opsiyonel
Func<HttpContext, bool>. Tanımlandığında her istek için çağrılır;falsedönerse yanıt 403 olur.
Dashboard Seçenekleri
| Seçenek | Tip | Varsayılan | Açıklama |
|---|---|---|---|
Path |
string |
"/smartrag" |
Dashboard arayüzü ve tüm API uçları için temel yol. |
EnableInDevelopmentOnly |
bool |
true |
true iken dashboard geliştirme dışındaki ortamlarda 404 döner. |
AuthorizationFilter |
Func<HttpContext, bool> |
null |
Her dashboard isteği için çalıştırılan opsiyonel filtre; erişimi engellemek için false döndürün (HTTP 403). |
Güvenlik ve Production
- Dashboard yerleşik kimlik doğrulama içermez. URL’ye erişebilen herkes doküman listesini görebilir, yükleme/silme yapabilir ve chat kullanabilir.
- Geliştirme:
EnableInDevelopmentOnly = trueile dashboard yalnızcaIHostEnvironment.IsDevelopment()true iken kullanılabilir. - Production: Dashboard’u production’da açacaksanız:
- Erişimi reverse proxy veya middleware ile kısıtlayın (IP listesi, VPN vb.), veya
- Uygulamanızın auth’u ile entegre edin (dashboard yoluna rol/policy zorunlu kılın), veya
AuthorizationFilterile özel kontrol yazın.
Örnek: dashboard’u sadece kimliği doğrulanmış kullanıcılara açmak:
builder.Services.AddSmartRagDashboard(options =>
{
options.Path = "/smartrag";
options.EnableInDevelopmentOnly = false;
options.AuthorizationFilter = ctx => ctx.User.Identity?.IsAuthenticated == true;
});
// Dashboard yolunun auth middleware/policy altında olduğundan emin olun.
API Uçları (dashboard yolu altında)
Tüm uçlar yapılandırılan path’e göredir (örn. /smartrag).
| Method | Path | Açıklama |
|---|---|---|
| GET | /api/documents |
Doküman listesi (query: skip, take) |
| GET | /api/documents/{id} |
Tek doküman |
| DELETE | /api/documents/{id} |
Doküman silme |
| POST | /api/documents |
Doküman yükleme (multipart: file, uploadedBy, opsiyonel language) |
| GET | /api/upload/supported-types |
Desteklenen uzantı ve MIME tipleri |
| GET | /api/chat/config |
Aktif AI provider ve model adı |
| POST | /api/chat/messages |
Chat mesajı (JSON: message, opsiyonel sessionId) |
| GET | /api/chat/sessions |
Chat oturumlarını listele |
| GET | /api/chat/sessions/{sessionId} |
Tek chat oturumunu mesajlarla getir |
| DELETE | /api/chat/sessions |
Tüm chat oturumlarını sil |
| DELETE | /api/chat/sessions/{sessionId} |
Tek chat oturumunu sil |
| GET | /api/settings |
Dashboard yapılandırması (provider’lar, özellikler, chunking vb.) |
Kullanım
- ASP.NET Core uygulamanızı çalıştırın (örn.
dotnet run). - Tarayıcıda dashboard’u açın:
https://localhost:5000/smartrag(veya uygulama URL’iniz ve path). - Documents panelinden desteklenen türde dosya yükleyin, listeyi görüntüleyin ve silin.
- Chat panelinden o anki AI modeli ile mesaj gönderin; aktif provider/model üstte gösterilir.
Dashboard, uygulamanızın geri kalanıyla aynı SmartRAG servislerini (IDocumentService, IAIService vb.) kullandığı için dokümanlar ve chat mevcut yapılandırmanızla tutarlıdır.
Ekran Görüntüleri
- Documents paneli: Doküman yükleme, listeleme ve yönetimi.
- Chat paneli: Mesaj gönderme ve konuşma geçmişini görüntüleme.
- Settings paneli: Yapılandırma görüntüleme (provider’lar, özellikler, chunking).
Placeholder görseller (SmartRAG.API veya Demo ile alınan gerçek ekran görüntüleriyle değiştirilebilir):

Sonraki Adımlar
Temel Yapılandırma
AI sağlayıcıları, depolama ve özellikler için temel SmartRAG seçenekleri.
Temel YapılandırmaVeritabanı Yapılandırması
Çoklu veritabanı bağlantıları ve şema analizi yapılandırması.
Veritabanı YapılandırmasıFile Watcher
İzlenen klasörlerden dokümanları otomatik olarak indeksleyin.
File Watcher Yapılandırması