Dashboard
SmartRAG Dashboard - tarayıcı tabanlı doküman yönetimi ve chat arayüzü
Genel Bakış
SmartRAG.Dashboard paketi, uygulamanıza tarayıcı tabanlı bir web arayüzü ekler. Dashboard eklendiğ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 çekirdeği ve Dashboard paketini ekleyin:
dotnet add package SmartRAG
dotnet add package SmartRAG.Dashboard
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.
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) |
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.