Versiyon Geçmişi
SmartRAG için eksiksiz versiyon geçmişi
Versiyon Geçmişi
SmartRAG’deki tüm sürümler ve değişiklikler burada belgelenmiştir.
Konuşma Zaman Damgaları, RAG İyileştirmeleri, Qdrant 1.16
MINOR Sürüm
Bu sürüm konuşma zaman damgaları ve kaynakları, büyük RAG arama iyileştirmeleri, yinelenen yükleme önleme, Whisper bootstrap, MCP isteğe bağlı bağlantı ve Qdrant 1.16.1 uyumluluğu ekler. IStorageFactory ve IConversationRepository için kırıcı değişiklikler içerir.
✨ Eklenenler
- Konuşma Zaman Damgaları ve Kaynaklar: GetSessionTimestampsAsync, AppendSourcesForTurnAsync, GetSourcesForSessionAsync, GetAllSessionIdsAsync
- Açık Oturum RAG Overload: sessionId ve conversationHistory ile QueryIntelligenceAsync
- Yinelenen Yükleme Önleme: Hash tabanlı atlama, DocumentSkippedException
- Whisper Native Bootstrap: Başlangıç başlatması için WhisperNativeBootstrap
- MCP İsteğe Bağlı: MCP sunucuları yalnızca -mcp etiketi kullanıldığında bağlanır
🔧 İyileştirmeler
- Doküman RAG Arama: Dosya adı erken dönüşü, phrase/morfolojik chunk önceliklendirme, dosya adı eşleştirmeli relevance skorlama, extraction retry modu
- Takip Soruları: Daha iyi konuşma context işleme
- PDF ve OCR: Türkçe encoding, para birimi pattern’leri
- Storage Factory: Scoped çözümleme için GetCurrentRepository(IServiceProvider)
- Qdrant: 1.16.1 API uyumluluğu, IQdrantCacheManager kaldırıldı
- NuGet: Qdrant.Client, StackExchange.Redis, MySql.Data, itext, EPPlus, PDFtoImage güncellendi
⚠️ Kırıcı Değişiklikler
- IStorageFactory: GetCurrentRepository(IServiceProvider scopedProvider)
- IConversationRepository: AppendSourcesForTurnAsync, GetSourcesForSessionAsync, GetAllSessionIdsAsync zorunlu
- IQdrantCacheManager: Kaldırıldı
📝 Notlar
- Kırıcı değişiklikler için migrasyon rehberine bakın
- 0 hata, 0 uyarı build politikası korunur
Schema RAG İyileştirmeleri ve Kod Temizliği
PATCH Sürüm
Bu sürüm, 3.8.0 Schema RAG implementasyonunun üzerine ek şema iyileştirmeleri, iç refactoring'ler ve kod temizliği getirir. Public API değişmeden davranış geriye dönük uyumlu kalır.
🔧 İyileştirmeler
Şema Servislerinde Cancellation Desteği
- Şema migrasyonu ve ilişkili servislerde
CancellationTokenakışı iyileştirildi - Daha sağlam async akışlar ve daha güvenli iptal davranışı
Kod Temizliği ve Bakım Kolaylığı
- Kullanılmayan SQL prompt ve dialect helper’ları kaldırıldı
- Doküman skorlama ve strateji helper’ları sadeleştirildi
- Context expansion ve Qdrant arama helper’ları temizlendi
- Kullanılmayan dosya izleyici event’leri ve konuşma helper’ları kaldırıldı
Logging ve Tanılama
- Repository log mesajları sadeleştirildi
- Veritabanı sorgu yürütücüsündeki gürültülü log’lar azaltıldı
📝 Notlar
- Geriye dönük uyumlu patch sürümü
- 0 hata, 0 uyarı build politikası korunur
- 3.8.0 Schema RAG implementasyonundaki tüm özellikleri içerir
Schema RAG Implementasyonu
MINOR Sürüm
Bu sürüm Schema RAG pattern'ini implemente eder, vektörleştirilmiş chunk'lar olarak saklanan veritabanı şema bilgilerinin semantik araması ile akıllı SQL üretimini sağlar. Tüm değişiklikler geriye dönük uyumludur.
✨ Eklendi
Schema RAG Implementasyonu
- Otomatik Şema Migrasyonu: Veritabanı şemalarını vektörleştirilmiş chunk’lara migrate etmek için yeni servis
- Şema Chunk Servisi: Veritabanı şemalarını embedding’lerle vektörleştirilmiş doküman chunk’larına dönüştürür
- Semantik Şema Arama: Daha iyi SQL üretimi için RAG chunk’larından şema bilgisi alınması
- Şema Metadata: Metadata ile saklanan chunk’lar (databaseId, databaseName, documentType: “Schema”)
- Migrasyon Desteği: Tüm şemaları veya tek tek veritabanı şemalarını migrate etme
- Şema Güncellemeleri: Güncelleme işlevselliği (eski chunk’ları sil ve yeni oluştur)
- Semantik Anahtar Kelimeler: Daha iyi sorgu eşleştirmesi için tablo ve kolon isimlerinden çıkarım
- PostgreSQL Desteği: Identifier’lar için çift tırnak ile özel formatlama
- Tablo Sınıflandırması: Satır sayısına göre tablo tipi sınıflandırması (TRANSACTIONAL, LOOKUP, MASTER)
- Foreign Key Dokümantasyonu: Chunk’larda kapsamlı foreign key ilişki dokümantasyonu
- Eklenen Dosyalar:
src/SmartRAG/Interfaces/Database/ISchemaMigrationService.cs- Şema migrasyon interface’isrc/SmartRAG/Services/Database/SchemaMigrationService.cs- Şema migrasyon servisisrc/SmartRAG/Services/Database/SchemaChunkService.cs- Şema chunk dönüştürme servisi
🔧 İyileştirildi
SQL Sorgu Üretimi
- Şema Chunk Entegrasyonu: Daha iyi doğruluk için şema chunk entegrasyonu ile geliştirildi
- RAG Pattern: Şema bilgileri RAG chunk’larından alınıyor (birincil kaynak)
- Fallback Desteği: Şema chunk’ları mevcut değilse DatabaseSchemaInfo fallback
- Geliştirilmiş Prompt’lar: Chunk’lardan şema context’i ile geliştirilmiş prompt oluşturma
- Dosyalar Güncellendi:
src/SmartRAG/Services/Database/SQLQueryGenerator.cs- Şema chunk entegrasyonu ile geliştirildisrc/SmartRAG/Services/Database/Prompts/SqlPromptBuilder.cs- İyileştirilmiş prompt yapısı
Veritabanı Bağlantı Yöneticisi
- Şema Migrasyon Entegrasyonu: Opsiyonel şema migrasyon servisi entegrasyonu eklendi
- Dosyalar Güncellendi:
src/SmartRAG/Services/Database/DatabaseConnectionManager.cs- Şema migrasyon desteği eklendi
Sonuç Birleştirici
- Geliştirilmiş Birleştirme: Daha iyi sonuç birleştirmesi için geliştirilmiş birleştirme mantığı
- Dosyalar Güncellendi:
src/SmartRAG/Services/Database/ResultMerger.cs- Geliştirilmiş birleştirme mantığı
Doküman Doğrulayıcı
- Şema Doküman Doğrulaması: Şema dokümanları için geliştirilmiş doğrulama
- Dosyalar Güncellendi:
src/SmartRAG/Services/Helpers/DocumentValidator.cs- Geliştirilmiş doğrulama mantığı
Servis Kaydı
- DI Container: DI container’a şema migrasyon ve chunk servisleri eklendi
- Dosyalar Güncellendi:
src/SmartRAG/Extensions/ServiceCollectionExtensions.cs- Servis kayıtları eklendi
Diğer İyileştirmeler
- Storage Factory: Şema ile ilgili servisler için güncellendi
- Sorgu Stratejisi Yürütücü: Şema-farkındalıklı sorgu yürütme ile geliştirildi
- Qdrant Koleksiyon Yöneticisi: Şema doküman desteği için güncellendi
📝 Notlar
- Geriye Dönük Uyumluluk: Tüm değişiklikler geriye dönük uyumludur
- Taşınma: Taşınma gerekmez
- Breaking Changes: Yok
- Schema RAG Pattern: Şema bilgileri artık vektörleştirilmiş chunk’lar olarak saklanıyor, daha iyi SQL üretimi için semantik arama sağlıyor
Cross-Database Mapping Detector & Güvenlik İyileştirmeleri
MINOR Sürüm
Bu sürüm cross-database ilişki tespiti ekler ve önemli güvenlik iyileştirmeleri içerir. Tüm değişiklikler geriye dönük uyumludur.
✨ Eklendi
Cross-Database Mapping Detector
- Otomatik İlişki Tespiti: Farklı veritabanları arasındaki kolon ilişkilerini tespit etmek için yeni servis
- Primary Key ve Foreign Key Analizi: Şema analizine dayalı otomatik tespit
- Semantik Kolon Eşleştirme: Veritabanları arası ilişkili kolonların akıllı eşleştirilmesi
- Dosyalar Güncellendi:
src/SmartRAG/Models/Configuration/CrossDatabaseMapping.cs- Cross-database mapping’ler için yeni modelsrc/SmartRAG/Services/Database/CrossDatabaseMappingDetector.cs- Yeni tespit servisisrc/SmartRAG/Models/Configuration/DatabaseConnectionConfig.cs- CrossDatabaseMappings özelliği eklendi
🔧 İyileştirildi
SQL Script Çıkarma
- DRY Prensibi Uygulandı: Veritabanı oluşturucu sınıflarından SQL script’leri ayrı dosyalara çıkarıldı
- Daha İyi Kod Organizasyonu: Bakımı kolaylaştırmak için merkezi SQL script’leri
- Dosyalar Güncellendi:
src/SmartRAG/Services/Database/DatabaseParserService.cs- Çıkarılan script’leri kullanacak şekilde güncellendisrc/SmartRAG/Services/Database/DatabaseSchemaAnalyzer.cs- Şema işleme iyileştirildi
Veritabanı Sorgu Üretimi
- Geliştirilmiş Sorgu Üretimi: Üretilen sorguların doğruluğu ve doğrulaması iyileştirildi
- Daha İyi Hata Önleme: Geliştirilmiş doğrulama mantığı
- Dosyalar Güncellendi:
src/SmartRAG/Services/Database/SQLQueryGenerator.cs- Sorgu üretimi iyileştirmelerisrc/SmartRAG/Services/Database/Validation/SqlValidator.cs- Geliştirilmiş doğrulamasrc/SmartRAG/Services/Database/Prompts/SqlPromptBuilder.cs- İyileştirilmiş prompt oluşturma
Veritabanı Parser ve Doküman Arama
- Daha İyi Servis Entegrasyonu: Veritabanı ve doküman servisleri arası koordinasyon iyileştirildi
- Dosyalar Güncellendi:
src/SmartRAG/Services/Database/DatabaseParserService.cs- Servis iyileştirmelerisrc/SmartRAG/Services/Document/DocumentSearchService.cs- Entegrasyon iyileştirmeleri
🐛 Düzeltildi
Güvenlik İyileştirmeleri
- SQL Injection Önleme: Geliştirilmiş girdi doğrulaması ve parametreli sorgu kullanımı
- Command Injection Önleme: Shell komut çalıştırma kaldırıldı, girdi sanitizasyonu geliştirildi
- Hassas Veri Sızıntısı Önleme: Hata mesajlarından ve log’lardan hassas veriler kaldırıldı
- İstisna mesajlarından yedek dosya yolları kaldırıldı
- Geliştirilmiş hata mesajı sanitizasyonu
- Dosyalar Güncellendi:
src/SmartRAG/Services/Database/DatabaseConnectionManager.cs- Geliştirilmiş hata yönetimisrc/SmartRAG/Services/Database/DatabaseQueryExecutor.cs- İyileştirilmiş hata mesajları
📝 Notlar
- Geriye Dönük Uyumluluk: Tüm değişiklikler geriye dönük uyumludur
- Taşınma: Taşınma gerekmez
- Breaking Changes: Yok
- Güvenlik: Önemli güvenlik iyileştirmeleri dahil edildi
CancellationToken Desteği ve Performans İyileştirmeleri
MINOR Sürüm
Bu sürüm daha iyi kaynak yönetimi ve iptal işleme için kapsamlı CancellationToken desteği eklerken, performans ve kod kalitesini de iyileştiriyor.
✨ Eklendi
CancellationToken Desteği
- Kapsamlı Destek: Tüm async interface metodları artık
CancellationToken cancellationToken = defaultparametresi kabul ediyor - Daha İyi Kaynak Yönetimi: Geliştirilmiş kaynak yönetimi ve zarif iptal işleme
- Özel Helper’lar: Özel helper metodlar iptal desteği için güncellendi
- XML Dokümantasyon: CancellationToken içeren tüm metodlar için XML dokümantasyonu güncellendi
- Değiştirilen Dosyalar:
src/SmartRAG/Interfaces/- Tüm async interface metodları güncellendisrc/SmartRAG/Services/- Tüm servis implementasyonları güncellendisrc/SmartRAG/Repositories/- Tüm repository implementasyonları güncellendisrc/SmartRAG/Providers/- Tüm provider implementasyonları güncellendi
🔧 İyileştirildi
Performans
- Native Async I/O: Task.Run native async dosya I/O metodları ile değiştirildi
- Daha İyi Kaynak Kullanımı: Geliştirilmiş kaynak kullanımı ve azaltılmış overhead
- Değiştirilen Dosyalar:
src/SmartRAG/Services/FileWatcher/FileWatcherService.cs- Native async I/Osrc/SmartRAG/Services/Document/DocumentService.cs- Native async I/O
Kod Kalitesi
- Log Temizliği: Gereksiz servis ve repository log’ları kaldırıldı
- Geliştirilmiş Okunabilirlik: Log okunabilirliği ve gürültü azaltma iyileştirildi
- Değiştirilen Dosyalar:
src/SmartRAG/Services/Shared/ServiceLogMessages.cs- Log temizliğisrc/SmartRAG/Repositories/RepositoryLogMessages.cs- Log temizliği- Birden fazla servis ve repository dosyası - Log kaldırma
📝 Notlar
- Geriye Dönük Uyumluluk: Tüm CancellationToken parametreleri varsayılan değerlere sahip, tam geriye dönük uyumluluk sağlıyor
- Geçiş: Geçiş gerekli değil - mevcut kod değişiklik olmadan çalışmaya devam ediyor
- Breaking Changes: Yok
- Kod Kalitesi: 0 hata, 0 uyarı korundu
- Teknik Detaylar: 59 dosya değiştirildi: 635 ekleme(+), 802 silme(-)
Kod Kalitesi İyileştirmeleri ve Mimari Refactoring
MINOR Sürüm
Bu sürüm kod tabanı genelinde kapsamlı kod kalitesi iyileştirmeleri, mimari refactoring ve SOLID/DRY uyumluluğu geliştirmelerine odaklanır.
🔧 İyileştirildi
Kod Kalitesi
- Kapsamlı Refactoring: Daha iyi SOLID/DRY uyumluluğu için servisler, provider’lar ve interface’ler refactor edildi
- Kod Organizasyonu: Geliştirilmiş kod organizasyonu ve sorumluluk ayrımı
- Bakım Kolaylığı: Kod tabanı genelinde artırılmış bakım kolaylığı ve okunabilirlik
- Mimari Desenler: Daha iyi mimari desen implementasyonu
Interface Tutarlılığı
- İsimlendirme Kuralı: PascalCase tutarlılığı için
ISQLQueryGeneratorISqlQueryGeneratorolarak yeniden adlandırıldı - Breaking Change: Interface’i doğrudan kullananlar referansları güncellemeli
Kod Tekrarı Eliminasyonu
- Wrapper Kaldırma: Sadece diğer servislere delegate eden gereksiz wrapper metodları kaldırıldı
- Tekrar Eliminasyonu: DocumentSearchService ve ilgili servislerde kod tekrarı elimine edildi
Arama Stratejisi
- Implementasyon İyileştirmeleri: Geliştirilmiş sorgu stratejisi mantığı ve kod kalitesi
- Daha İyi Organizasyon: Strateji servislerinde geliştirilmiş kod organizasyonu
PDF Ayrıştırma ve OCR
- Geliştirilmiş Sağlamlık: PDF ayrıştırmada geliştirilmiş hata işleme
- Daha İyi Güvenilirlik: Geliştirilmiş OCR işleme güvenilirliği
✨ Eklendi
QueryIntentAnalysisResult Modeli
- Yeni Model: Sorgu niyet sınıflandırma sonuçları için yapılandırılmış sonuç modeli
- Tip Güvenliği: Niyet sınıflandırma için daha iyi tip güvenliği
SearchOptions Geliştirmeleri
- Factory Metodları: Yapılandırmadan SearchOptions oluşturmak için
FromConfig()factory metodu eklendi - Clone Metodu: SearchOptions kopyaları oluşturmak için
Clone()metodu eklendi
QueryStrategyRequest Konsolidasyonu
- Birleştirilmiş Model: Birden fazla sorgu stratejisi istek DTO’su tek
QueryStrategyRequestmodelinde birleştirildi - Basitleştirilmiş API: Basitleştirilmiş istek işleme
🔄 Değiştirildi
Interface Metod İmzaları
- Parametre Kaldırma: Interface metodlarından
preferredLanguageparametresi kaldırıldı - Metod Birleştirme: Daha iyi API tutarlılığı için metod overload’ları birleştirildi
- Breaking Change:
preferredLanguageparametresini kullanan kodSearchOptionskullanmalı
Interface İsimlendirme
- Yeniden Adlandırılan Interface:
ISQLQueryGeneratorISqlQueryGeneratorolarak yeniden adlandırıldı - Breaking Change: Interface’i doğrudan kullananlar referansları güncellemeli
🗑️ Kaldırılanlar
Kullanılmayan Servisler
- ISourceSelectionService: Kullanılmayan interface ve implementasyon kaldırıldı
- SourceSelectionService: Kullanılmayan servis implementasyonu kaldırıldı
Gereksiz Wrapper’lar
- Wrapper Metodları: Gereksiz wrapper metodları ve orchestration servisleri kaldırıldı
- Kod Basitleştirme: Azaltılmış kod karmaşıklığı
✨ Faydalar
- Daha İyi Kod Kalitesi: Kapsamlı refactoring bakım kolaylığı ve okunabilirliği artırır
- Geliştirilmiş Mimari: Daha iyi sorumluluk ayrımı ve SOLID/DRY uyumluluğu
- Daha Temiz API: Basitleştirilmiş interface’ler ve metod imzaları
- Geliştirilmiş Performans: Gereksiz wrapper’ların kaldırılması performansı artırır
- Daha İyi Tip Güvenliği: Yeni modeller daha iyi tip güvenliği sağlar
📝 Notlar
- Breaking Changes:
ISQLQueryGeneratorISqlQueryGeneratorolarak yeniden adlandırıldı (sadece doğrudan interface kullananlar)- Metodlardan
preferredLanguageparametresi kaldırıldı (dil yapılandırması içinSearchOptionskullanın)
- Geçiş: Interface referanslarını güncelleyin ve dil yapılandırması için
SearchOptionskullanın - Geriye Dönük Uyumluluk: Çoğu değişiklik dahili refactoring, public API büyük ölçüde uyumlu kalıyor
MCP Entegrasyonu, Dosya İzleyici ve Sorgu Stratejisi Optimizasyonu
MINOR Sürüm
Bu sürüm MCP (Model Context Protocol) entegrasyonu, dosya izleyici servisi ve erken çıkış ve paralel çalıştırma iyileştirmeleri ile önemli sorgu stratejisi optimizasyonları ekler.
✨ Eklendi
MCP (Model Context Protocol) Entegrasyonu
- Harici MCP Sunucu Entegrasyonu: Harici MCP sunucuları aracılığıyla geliştirilmiş arama yetenekleri
- Çoklu MCP Sunucuları: Otomatik araç keşfi ile birden fazla MCP sunucusu desteği
- Sorgu Zenginleştirme: MCP sorguları için konuşma geçmişi bağlamı zenginleştirme
Dosya İzleyici Servisi
- Otomatik Doküman İndeksleme: Klasörleri izle ve yeni belgeleri otomatik indeksle
- Çoklu İzlenen Klasörler: Bağımsız yapılandırmalarla birden fazla izlenen klasör desteği
- Dil-Spesifik İşleme: Klasör başına dil yapılandırması
DocumentType Özelliği
- İçerik Tipi Filtreleme: İçerik tipine göre geliştirilmiş doküman chunk filtreleme (Document, Audio, Image)
- Otomatik Algılama: Dosya uzantısı ve içerik tipine dayalı doküman tipi algılama
DefaultLanguage Desteği
- Global Varsayılan Dil: Doküman işleme için global varsayılan dil yapılandırması
- ISO 639-1 Desteği: ISO 639-1 dil kodları desteği
Geliştirilmiş Arama Özellik Bayrakları
- Granüler Kontrol:
EnableMcpSearch,EnableAudioSearch,EnableImageSearchbayrakları - İstek Başına ve Global Yapılandırma: Hem istek başına hem global yapılandırma desteği
Erken Çıkış Optimizasyonu
- Performans İyileştirmesi: Yeterli yüksek kaliteli sonuç bulunduğunda erken çıkış
- Paralel Çalıştırma: Doküman araması ve sorgu intent analizinin paralel çalıştırılması
- Akıllı Skip Mantığı: Veritabanı intent güveni yüksek olduğunda eager doküman cevap üretimini atlama
IsExplicitlyNegative Kontrolü
- Hızlı Başarısızlık Mekanizması:
[NO_ANSWER_FOUND]pattern’i ile açık başarısızlık pattern’lerini algılama - Yanlış Pozitifleri Önler: Yüksek güvenli doküman eşleşmelerine rağmen AI’nın negatif cevaplar döndürmesi durumunda yanlış pozitifleri önler
🔧 İyileştirildi
Sorgu Stratejisi Optimizasyonu
- Akıllı Kaynak Seçimi: Akıllı kaynak seçimi ile geliştirilmiş sorgu çalıştırma stratejisi
- StrongDocumentMatchThreshold: Daha iyi doküman önceliklendirmesi için threshold sabiti (4.8) ile geliştirilmiş erken çıkış mantığı
- Veritabanı Sorgu Skip Mantığı: Doküman eşleşme gücü ve AI cevap kalitesine dayalı geliştirilmiş mantık
Kod Kalitesi
- Kapsamlı Temizlik: Gereksiz yorumlar ve dil-spesifik referanslar kaldırıldı
- Geliştirilmiş İsimlendirme: Daha iyi sabit isimlendirme ve generic kod pattern’leri
- Geliştirilmiş Organizasyon: Geliştirilmiş kod organizasyonu ve yapısı
Model Organizasyonu
- Mantıksal Alt Klasörler: Modeller mantıksal alt klasörlere yeniden organize edildi (Configuration/, RequestResponse/, Results/, Schema/)
🐛 Düzeltildi
- Dil-Agnostik Eksik Veri Algılama: Dil-spesifik pattern’ler düzeltildi
- HttpClient Timeout: Uzun süren AI işlemleri için timeout artırıldı
- Türkçe Karakter Encoding: PDF metin çıkarmada encoding sorunları düzeltildi
- Chunk0 Alma: Numara listesi işleme chunk alma düzeltildi
- DI Scope Sorunları: Dependency injection scope çakışmaları çözüldü
- İçerik Tipi Algılama: İçerik tipi algılama doğruluğu geliştirildi
- Konuşma Intent Sınıflandırma: Bağlam farkındalığı geliştirildi
- Konuşma Geçmişi Tekrar Eden Girdiler: Tekrar eden girdiler düzeltildi
- Redis Doküman Alma: Doküman listesi boş olduğunda doküman alma düzeltildi
- SqlValidator DI Uyumluluğu: Dependency injection uyumluluğu düzeltildi
🔄 Değiştirildi
- Özellik Bayrağı İsimlendirme: Tutarlılık için bayraklar yeniden adlandırıldı (
EnableMcpClient→EnableMcpSearch, vb.) - Interface Yeniden Yapılandırma: Daha iyi organizasyon için interface’ler yeniden organize edildi
✨ Faydalar
- Genişletilmiş Arama Yetenekleri: MCP entegrasyonu harici veri kaynağı sorgularını etkinleştirir
- Otomatik Doküman İndeksleme: Dosya izleyici servisi manuel doküman yüklemelerini azaltır
- Daha İyi İçerik Filtreleme: DocumentType özelliği kesin içerik tipi filtrelemeyi etkinleştirir
- Geliştirilmiş Kod Kalitesi: Kapsamlı kod temizliği ve organizasyon iyileştirmeleri
- Geliştirilmiş Çok Dilli Destek: DefaultLanguage yapılandırması dil işlemeyi basitleştirir
- Performans Optimizasyonu: Erken çıkış optimizasyonu arama yanıt sürelerini iyileştirir
📝 Notlar
- MCP Entegrasyonu:
SmartRagOptions.McpServersiçinde MCP sunucu yapılandırması gerektirir - Dosya İzleyici:
SmartRagOptions.WatchedFoldersiçinde izlenen klasör yapılandırması gerektirir - Geriye Dönük Uyumluluk: Tüm değişiklikler geriye dönük uyumludur, breaking change yok
Redis Vector Search & Storage İyileştirmeleri
MINOR Sürüm
Bu sürüm Redis vector arama yeteneklerini geliştirir ve kullanılmayan storage implementasyonlarını kaldırır. Aktif storage provider'ları (Qdrant, Redis, InMemory) tam olarak çalışmaya devam eder.
✨ Eklendi
Redis RediSearch Entegrasyonu
- Gelişmiş Vector Similarity Search: RediSearch modülü desteği ile gelişmiş vector arama yetenekleri
- Vector Index Configuration: Algoritma (HNSW), mesafe metriği (COSINE) ve boyut (varsayılan: 768) configuration
- Dosyalar Güncellendi:
src/SmartRAG/Models/RedisConfig.cs- Vector arama configuration özellikleri
src/SmartRAG/Repositories/RedisDocumentRepository.cs- RediSearch vector arama implementasyonu
- Dosyalar Güncellendi:
🔧 İyileştirildi
Redis Vector Search Doğruluğu
- Doğru Relevance Scoring: RelevanceScore artık Doküman Arama Service’i sıralaması için doğru hesaplanıyor ve atanıyor
- Similarity Hesaplama: RediSearch mesafe metrikleri similarity skorlarına doğru şekilde dönüştürülüyor
- Debug Logging: Skor doğrulama logging’i eklendi
- Dosyalar Güncellendi:
src/SmartRAG/Repositories/RedisDocumentRepository.cs- RelevanceScore ataması
Redis Embedding Üretimi
- AI Configuration Yönetimi: Doğru config almak için IAIConfigurationService injection’ı
- Zarif Geri Dönüş: Config mevcut olmadığında text arama’ya geri dönüş
- Dosyalar Güncellendi:
src/SmartRAG/Repositories/RedisDocumentRepository.cs- AI config yönetimisrc/SmartRAG/Factories/StorageFactory.cs- IAIConfigurationService injection
StorageFactory Dependency Injection
- Scope Çözümleme: Lazy resolution kullanarak Singleton/Scoped lifetime uyumsuzluğu düzeltildi
- IServiceProvider Pattern: IServiceProvider aracılığıyla lazy dependency resolution’a geçildi
- Dosyalar Güncellendi:
src/SmartRAG/Factories/StorageFactory.cs- Lazy dependency resolutionsrc/SmartRAG/Extensions/ServiceCollectionExtensions.cs- IAIProvider lifetime ayarı
🐛 Düzeltildi
- StorageFactory DI Scope Sorunu: IAIProvider çözümlerken InvalidOperationException düzeltildi
- Redis Relevance Scoring: Arama sonuçlarında RelevanceScore’un 0.0000 olması düzeltildi
- Redis Embedding Config: Embedding üretirken NullReferenceException düzeltildi
🗑️ Kaldırıldı
- FileSystemDocumentRepository: Kullanılmayan file system storage implementasyonu kaldırıldı
- SqliteDocumentRepository: Kullanılmayan SQLite storage implementasyonu kaldırıldı
- StorageConfig Özellikleri: FileSystemPath ve SqliteConfig kaldırıldı (kullanılmıyor)
⚠️ Breaking Changes
- FileSystem ve SQLite Doküman Repository’leri Kaldırıldı
- Bunlar kullanılmayan implementasyonlardı
- Aktif storage provider’ları (Qdrant, Redis, InMemory) tam olarak çalışmaya devam ediyor
- FileSystem veya SQLite kullanıyorsanız, Qdrant, Redis veya InMemory’ye geçin
📝 Notlar
- Redis Gereksinimleri: Vector arama RediSearch modülü gerektirir
redis/redis-stack-server:latestDocker image’ını kullanın- Veya Redis sunucunuza RediSearch modülünü kurun
- RediSearch olmadan sadece text arama çalışır (vector arama çalışmaz)
🏗️ Mimari Refactoring - Modüler Tasarım
MINOR Sürüm
Bu sürüm, tam geriye dönük uyumluluk sağlarken önemli mimari iyileştirmeler sunar. Mevcut tüm kodlar değişiklik gerektirmeden çalışmaya devam eder.
Strategy Pattern Uygulaması
SQL Diyalekt Stratejisi
ISqlDialectStrategy: Veritabanına özgü SQL üretimi için interface- Diyalekt Uygulamaları:
SqliteDialectStrategy- SQLite için optimize edilmiş SQL üretimiPostgreSqlDialectStrategy- PostgreSQL için optimize edilmiş SQL üretimiMySqlDialectStrategy- MySQL/MariaDB için optimize edilmiş SQL üretimiSqlServerDialectStrategy- SQL Server için optimize edilmiş SQL üretimi
ISqlDialectStrategyFactory: Uygun diyalekt stratejisi oluşturmak için fabrika- Faydalar: Açık/Kapalı Prensibi (OCP), yeni veritabanı desteği eklemeyi kolaylaştırır
Skorlama Stratejisi
IScoringStrategy: Doküman ilgililik skorlaması için interfaceHybridScoringStrategy: Semantik ve anahtar kelime tabanlı skorlamayı birleştirir- Faydalar: Takılabilir skorlama algoritmaları, arama davranışını özelleştirmeyi kolaylaştırır
Dosya Ayrıştırıcı Stratejisi
IFileParser: Dosya formatı ayrıştırma için interface- Strateji tabanlı ayrıştırma: Her dosya türü için özel ayrıştırıcı uygulaması
- Faydalar: Tek Sorumluluk Prensibi (SRP), yeni dosya formatları eklemeyi kolaylaştırır
Repository Katmanı Ayrımı
Konuşma Repository
IConversationRepository: Konuşma veri erişimi için özel interface- Uygulamalar:
SqliteConversationRepository- SQLite tabanlı konuşma depolamaInMemoryConversationRepository- Bellekte konuşma depolamaFileSystemConversationRepository- Dosya tabanlı konuşma depolamaRedisConversationRepository- Redis tabanlı konuşma depolama
IConversationManagerService: Konuşma yönetimi için iş mantığı- Faydalar: Sorumlulukların Ayrılması (SoC), Interface Ayrımı Prensibi (ISP)
Repository Temizliği
IDocumentRepository: Konuşma ile ilgili metodlar kaldırıldı- Net ayrım: Dokümanlar vs Konuşmalar
- Faydalar: Daha temiz interface’ler, daha iyi test edilebilirlik
Servis Katmanı Refactoring
AI Servis Ayrıştırması
IAIConfigurationService: AI sağlayıcı configuration yönetimiIAIRequestExecutor: Yeniden deneme/yedekleme ile AI istek yürütmeIPromptBuilderService: Prompt oluşturma ve optimizasyonIAIProviderFactory: AI sağlayıcı örnekleri oluşturmak için fabrika- Faydalar: Tek Sorumluluk Prensibi (SRP), daha iyi test edilebilirlik
Veritabanı Servisleri
IQueryIntentAnalyzer: Sorgu niyet analizi ve sınıflandırmaIDatabaseQueryExecutor: Veritabanı sorgu yürütmeIResultMerger: Çoklu veritabanı sonuç birleştirmeISqlQueryGenerator: Doğrulama ile SQL sorgu üretimiIDatabaseConnectionManager: Veritabanı bağlantı yaşam döngüsü yönetimiIDatabaseSchemaAnalyzer: Veritabanı şema analizi ve önbellekleme
Arama Servisleri
IEmbeddingSearchService: Embedding tabanlı arama işlemleriISourceBuilderService: Arama sonucu kaynak oluşturma
Ayrıştırıcı Servisleri
IAudioParserService: Ses dosyası ayrıştırma ve transkripsiyonIImageParserService: Görüntü OCR işlemeIAudioParserFactory: Ses ayrıştırıcı oluşturma fabrikası
Destek Servisleri
IQueryIntentClassifierService: Sorgu niyet sınıflandırmaITextNormalizationService: Metin normalizasyonu ve temizleme
Model Konsolidasyonu
Yeni Özellikler: Özelleştirme Desteği
- Özel SQL Diyalekt Stratejileri: Özel veritabanı diyalektleri uygulama ve mevcut olanları genişletme desteği (SQLite, SQL Server, MySQL, PostgreSQL)
- Özel Skorlama Stratejileri: Özel arama ilgililik mantığı uygulama desteği
- Özel Dosya Ayrıştırıcıları: Özel dosya formatı ayrıştırıcıları uygulama desteği
- Özel Konuşma Yönetimi: Konuşma geçmişini yönetmek için yeni servis
✨ Eklenenler
- SearchOptions Desteği: İstek başına arama configuration’ı ile detaylı kontrol
- Veritabanı, doküman, ses ve görüntü araması için özellik bayrakları
- ISO 639-1 dil kodu desteği için
PreferredLanguageözelliği - Özellik bayraklarına dayalı koşullu servis kaydı
- Bayrak Tabanlı Doküman Filtreleme: Hızlı arama tipi seçimi için sorgu string bayrakları (
-db,-d,-a,-i) - Doküman Tipi Filtreleme: İçerik tipine göre otomatik filtreleme (metin, ses, görüntü)
- Native Qdrant Metin Arama: Geliştirilmiş arama performansı için token tabanlı filtreleme
- Token tabanlı OR filtreleme ile native Qdrant metin araması
- Otomatik stopword filtreleme ve token eşleşme sayımı
- ClearAllAsync Metodları: Verimli toplu silme işlemleri
IDocumentRepository.ClearAllAsync()- Verimli toplu silmeIDocumentService.ClearAllDocumentsAsync()- Tüm dokümanları temizleIDocumentService.ClearAllEmbeddingsAsync()- Sadece embedding’leri temizle
- Tesseract İsteğe Bağlı Dil Verisi İndirme: Otomatik dil desteği
- Tesseract dil veri dosyalarının otomatik indirilmesi
- ISO 639-1/639-2 kod eşleştirmesi ile 30+ dil desteği
- Para Birimi Sembolü Düzeltme: Finansal dokümanlar için geliştirilmiş OCR doğruluğu
- Yaygın OCR yanlış okumalarının otomatik düzeltilmesi (
%,6,t,&→ para birimi sembolleri) - Hem OCR hem PDF ayrıştırmaya uygulanır
- Yaygın OCR yanlış okumalarının otomatik düzeltilmesi (
- Ollama Embedding’leri için Paralel Toplu İşleme: Performans optimizasyonu
- Embedding üretimi için paralel toplu işleme
- Büyük doküman setleri için geliştirilmiş verim
- Sorgu Token Parametresi: Önceden hesaplanmış token desteği
- Gereksiz tokenizasyonu ortadan kaldırmak için isteğe bağlı
queryTokensparametresi
- Gereksiz tokenizasyonu ortadan kaldırmak için isteğe bağlı
- FeatureToggles Modeli: Global özellik bayrağı configuration’ı
- Merkezi özellik yönetimi için
FeatureTogglessınıfı - Kolay configuration için
SearchOptions.FromConfig()statik metodu
- Merkezi özellik yönetimi için
- ContextExpansionService: Bitişik chunk bağlam genişletme
- Bitişik chunk’ları dahil ederek doküman chunk bağlamını genişletir
- Daha iyi AI yanıtları için yapılandırılabilir bağlam penceresi
- FileParserResult Modeli: Standartlaştırılmış parser sonuç yapısı
- İçerik ve metadata ile tutarlı parser çıktı formatı
- DatabaseFileParser: SQLite veritabanı dosyası ayrıştırma desteği
- Doğrudan veritabanı dosyası yükleme ve ayrıştırma (.db, .sqlite, .sqlite3, .db3)
- Native Kütüphane Dahil Etme: Tesseract OCR native kütüphaneleri paketlenmiş
- Manuel kütüphane kurulumu gerekmez
- Windows, macOS ve Linux desteği
- Nullable Reference Types: Geliştirilmiş null güvenliği
- 14+ dosyada daha iyi derleme zamanı null kontrolü
İyileştirmeler
- Qdrant için Unicode Normalizasyonu: Tüm dillerde daha iyi metin alımı
- PDF OCR Kodlama Sorunu Tespiti: Otomatik yedekleme işleme
- Numaralı Liste Chunk Tespiti: Geliştirilmiş sayma sorgusu doğruluğu
- RAG Skorlama İyileştirmeleri: Benzersiz anahtar kelime bonusu ile geliştirilmiş ilgililik hesaplama
- Doküman Arama Uyarlanabilir Eşiği: Dinamik ilgililik eşiği ayarlama
- Prompt Builder Kuralları: Geliştirilmiş AI cevap üretimi
- QdrantDocumentRepository GetAllAsync: Performans optimizasyonu
- Metin İşleme ve AI Prompt Servisleri: Genel iyileştirmeler
- Görüntü Ayrıştırıcı Servisi: Kapsamlı iyileştirmeler
Düzeltmeler
- SQL Üretiminde Tablo Takma Adı Zorunluluğu: Belirsiz kolon hatalarını önler
- EnableDatabaseSearch Configuration Uyumu: Uygun özellik bayrağı işleme
- macOS Native Kütüphaneleri: OCR kütüphane dahil etme ve DYLD_LIBRARY_PATH configuration’ı
- Eksik Metod İmzası: Doküman Arama Service’i geri yükleme
Değişiklikler
- IEmbeddingSearchService Bağımlılık Kaldırma: Basitleştirilmiş mimari
- Kod Temizliği: Satır içi yorumlar ve kullanılmayan direktiflerin kaldırılması
- Günlükleme Temizliği: Azaltılmış ayrıntılı günlükleme
- NuGet Paket Güncellemeleri: En son uyumlu sürümler
- Servis Metod Açıklamaları:
[AI Query],[Document Query],[DB Query]etiketleri ile daha iyi kod dokümantasyonu
🔧 Kod Kalitesi
Derleme Kalitesi
- Sıfır Uyarı: Tüm projelerde 0 hata, 0 uyarı korundu
- SOLID Uyumu: SOLID prensiplerine tam uyum
- Temiz Mimari: Katmanlar arasında net sorumluluk ayrımı
Değiştirilen Dosyalar
src/SmartRAG/Interfaces/- Strategy Pattern için yeni interface’lersrc/SmartRAG/Services/- Servis katmanı refactoringsrc/SmartRAG/Repositories/- Repository ayrımısrc/SmartRAG/Models/- Model konsolidasyonusrc/SmartRAG/Extensions/ServiceCollectionExtensions.cs- Güncellenmiş DI kayıtları
✨ Faydalar
- Bakım Yapılabilirlik: Daha temiz, daha modüler kod tabanı
- Genişletilebilirlik: Yeni veritabanları, AI sağlayıcıları, dosya formatları eklemeyi kolaylaştırır
- Test Edilebilirlik: Net interface’lerle daha iyi birim testi
- Performans: Veritabanı diyalektine göre optimize edilmiş SQL üretimi
- Esneklik: Skorlama, ayrıştırma, SQL üretimi için takılabilir stratejiler
- Geriye Dönük Uyumluluk: Mevcut tüm kodlar değişiklik olmadan çalışır
📚 Geçiş Rehberi
Breaking Change Yok
Tüm değişiklikler geriye dönük uyumludur. Mevcut kodlar değişiklik gerektirmeden çalışmaya devam eder.
İsteğe Bağlı İyileştirmeler
Yeni Konuşma Yönetimini Kullanın:
// Eski yaklaşım (hala çalışır)
await _documentSearchService.QueryIntelligenceAsync(query);
// Yeni yaklaşım (konuşma takibi için önerilir)
var sessionId = await _conversationManager.StartNewConversationAsync();
await _conversationManager.AddToConversationAsync(sessionId, userMessage, aiResponse);
var history = await _conversationManager.GetConversationHistoryAsync(sessionId);
Özelleştirme Örnekleri (İsteğe Bağlı)
Özel SQL Diyalekt Stratejisi:
// Örnek: Özel doğrulama ile PostgreSQL desteğini genişletme
public class EnhancedPostgreSqlDialectStrategy : BaseSqlDialectStrategy
{
public override DatabaseType DatabaseType => DatabaseType.PostgreSQL;
public override string GetDialectName() => "Gelişmiş PostgreSQL";
public override string BuildSystemPrompt(
DatabaseSchemaInfo schema,
string userQuery)
{
// Gelişmiş PostgreSQL'e özgü SQL üretimi
return $"PostgreSQL SQL oluştur: {userQuery}\\nŞema: {schema}";
}
}
Özel Skorlama Stratejisi:
// Örnek: Özel skorlama mantığı ekleme
public class CustomScoringStrategy : IScoringStrategy
{
public double CalculateScore(DocumentChunk chunk, string query)
{
// Özel skorlama mantığı
}
}
✨ Birleşik Sorgu Zekası
Önemli Özellik: Tüm Veri Kaynaklarında Birleşik Arama
- Birleşik Sorgu Zekası:
QueryIntelligenceAsyncartık veritabanları, dokümanlar, görseller (OCR) ve ses (transkripsiyon) üzerinde tek bir sorguda birleşik arama destekliyor - Akıllı Hibrit Yönlendirme: Güven skorlaması ile AI tabanlı niyet tespiti otomatik olarak optimal arama stratejisini belirler
- Yüksek güven (>0.7) + veritabanı sorguları → Sadece veritabanı sorgusu
- Yüksek güven (>0.7) + veritabanı sorgusu yok → Sadece doküman sorgusu
- Orta güven (0.3-0.7) → Hem veritabanı hem doküman sorguları, birleştirilmiş sonuçlar
- Düşük güven (<0.3) → Sadece doküman sorgusu (yedek)
- QueryStrategy Enum: Sorgu yürütme stratejileri için yeni enum (DatabaseOnly, DocumentOnly, Hybrid)
- Yeni Servis Mimarisi: QueryIntentAnalyzer, DatabaseQueryExecutor, ResultMerger ve SQLQueryGenerator servisleri ile modüler tasarım
- Paralel Sorgu Yürütme: Daha iyi performans için çoklu-veritabanı sorguları paralel olarak yürütülür
- Akıllı Sonuç Birleştirme: Birden fazla veritabanından gelen sonuçların AI destekli birleştirilmesi
- Akıllı Yönlendirme: Zarif bozulma ve yedek mekanizmalarla geliştirilmiş sorgu yönlendirme mantığı
- Geliştirilmiş Hata Yönetimi: Veritabanı sorgu hataları için daha iyi hata yönetimi
Yeni Servisler & Interface’ler
QueryIntentAnalyzer- Kullanıcı sorgularını analiz eder ve hangi veritabanları/tabloları sorgulayacağını AI kullanarak belirlerDatabaseQueryExecutor- Birden fazla veritabanında paralel sorgu yürütürResultMerger- Birden fazla veritabanından gelen sonuçları AI kullanarak tutarlı yanıtlara birleştirirSQLQueryGenerator- Sorgu niyetine göre her veritabanı için optimize edilmiş SQL sorguları üretir
Yeni Modeller
AudioSegmentMetadata- Zaman damgaları ve güven skorları ile ses transkripsiyon segmentleri için metadata modeli
Geliştirilmiş Modeller
SearchSource- Kaynak tipi farklılaştırması ile geliştirildi (Database, Document, Image, Audio)
🔧 Kod Kalitesi & AI Prompt Optimizasyonu
Kod Kalitesi İyileştirmeleri
- Build Kalitesi: Tüm projelerde 0 hata, 0 uyarı elde edildi
- Kod Standartları: Proje kod standartlarına tam uyumluluk
AI Prompt Optimizasyonu
- Emoji Azaltma: AI prompt’larındaki emoji kullanımı 235’ten 5’e düşürüldü (sadece kritik: 🚨, ✓, ✗)
- Token Verimliliği: Token verimliliği iyileştirildi (prompt başına ~100 token tasarruf)
- Stratejik Kullanım: Stratejik emoji kullanımı ile daha iyi AI anlayışı
Değiştirilen Dosyalar
src/SmartRAG/Services/SQLQueryGenerator.cs- AI prompt’larında emoji optimizasyonusrc/SmartRAG/Services/MultiDatabaseQueryCoordinator.cs- Emoji optimizasyonusrc/SmartRAG/Services/QueryIntentAnalyzer.cs- Emoji optimizasyonusrc/SmartRAG/Services/DocumentSearchService.cs- Emoji optimizasyonu
✨ Faydalar
- Temiz Kod Tabanı: Tüm projelerde sıfır uyarı
- Daha İyi Performans: Daha verimli AI prompt işleme
- Geliştirilmiş Bakım Kolaylığı: Daha iyi kod kalitesi ve standart uyumluluğu
- Maliyet Verimliliği: AI prompt’larında azaltılmış token kullanımı
🎯 Paket Optimizasyonu - Native Kütüphaneler
Paket Boyutu Azaltma
- Native Kütüphaneler Hariç: Whisper.net.Runtime native kütüphaneleri (ggml-.dll, libggml-.so, libggml-*.dylib) artık SmartRAG NuGet paketine dahil edilmiyor
- Tessdata Hariç:
tessdata/eng.traineddatadosyası artık SmartRAG NuGet paketine dahil edilmiyor - Azaltılmış Paket Boyutu: Önemli ölçüde daha küçük NuGet paket boyutu
- Temiz Çıktı: Proje çıktı dizininde gereksiz native kütüphane dosyaları yok
Değiştirilen Dosyalar
src/SmartRAG/SmartRAG.csproj- Whisper.net.Runtime paket referansınaPrivateAssets="All"eklendisrc/SmartRAG/SmartRAG.csproj- tessdata/eng.traineddata içerik dosyasınaPack="false"eklendi
✨ Faydalar
- Daha Küçük Paket Boyutu: Native kütüphaneleri hariç tutarak NuGet paket boyutu azaltıldı
- Temiz Projeler: Proje çıktısında gereksiz native kütüphane dosyaları yok
- Daha İyi Bağımlılık Yönetimi: Native kütüphaneler kendi paketlerinden geliyor (Whisper.net.Runtime, Tesseract)
- Tutarlı Davranış: Whisper.net.Runtime paketini doğrudan referans ederkenki davranışla eşleşiyor
📚 Geçiş Rehberi
OCR veya Ses Transkripsiyonu özelliklerini kullanıyorsanız:
Ses Transkripsiyonu için (Whisper.net):
- Projenize
Whisper.net.Runtimepaketini ekleyin:<PackageReference Include="Whisper.net.Runtime" Version="1.8.1" /> - Native kütüphaneler Whisper.net.Runtime paketinden otomatik olarak dahil edilecek
- Başka değişiklik gerekmiyor
OCR için (Tesseract):
- Projenize
Tesseractpaketini ekleyin:<PackageReference Include="Tesseract" Version="5.2.0" /> - Tesseract paketi tessdata dosyalarını otomatik olarak içerir
- Başka değişiklik gerekmiyor
Not: OCR veya Ses Transkripsiyonu özelliklerini kullanmıyorsanız, herhangi bir işlem gerekmez. Paketler hala bağımlılık olarak indirilir, ancak native kütüphaneler paketleri açıkça referans etmediğiniz sürece dahil edilmez.
🚀 BREAKING CHANGES - Google Speech-to-Text Kaldırıldı
Ses İşleme Değişiklikleri
- Google Speech-to-Text Kaldırıldı: Google Cloud Speech-to-Text entegrasyonunun tamamen kaldırılması
- Sadece Whisper.net: Ses transkripsiyonu artık sadece Whisper.net kullanıyor, %100 yerel işleme
- Veri Gizliliği: Tüm ses işleme artık tamamen yerel, GDPR/KVKK/HIPAA uyumluluğu sağlanıyor
- Basitleştirilmiş Configuration: GoogleSpeechConfig ve ilgili configuration seçenekleri kaldırıldı
Kaldırılan Dosyalar
src/SmartRAG/Services/GoogleAudioParserService.cs- Google Speech-to-Text servisisrc/SmartRAG/Models/GoogleSpeechConfig.cs- Google Speech configuration modeli
Değiştirilen Dosyalar
src/SmartRAG/SmartRAG.csproj- Google.Cloud.Speech.V1 NuGet paketi kaldırıldısrc/SmartRAG/Extensions/ServiceCollectionExtensions.cs- Google servis kaydı kaldırıldısrc/SmartRAG/Factories/AudioParserFactory.cs- Sadece Whisper.net için basitleştirildisrc/SmartRAG/Models/SmartRagOptions.cs- GoogleSpeechConfig özelliği kaldırıldısrc/SmartRAG/Enums/AudioProvider.cs- GoogleCloud enum değeri kaldırıldısrc/SmartRAG/Services/ServiceLogMessages.cs- Whisper.net için log mesajları güncellendi
✨ Faydalar
- %100 Yerel İşleme: Tüm ses transkripsiyonu Whisper.net ile yerel olarak yapılıyor
- Geliştirilmiş Gizlilik: Veri altyapınızı terk etmiyor
- Basitleştirilmiş Kurulum: Google Cloud kimlik bilgileri gerekmiyor
- Maliyet Etkin: Dakika başına transkripsiyon maliyeti yok
- Çok Dilli: Otomatik algılama ile 99+ dil desteği
🔧 Teknik Detaylar
- Whisper.net Entegrasyonu: Whisper.net bağlamaları aracılığıyla OpenAI’nin Whisper modelini kullanır
- Model Seçenekleri: Tiny (75MB), Base (142MB), Medium (1.5GB), Large-v3 (2.9GB)
- Donanım Hızlandırması: CPU, CUDA, CoreML, OpenVino desteği
- Otomatik İndirme: Modeller ilk kullanımda otomatik olarak indirilir
- Format Desteği: MP3, WAV, M4A, AAC, OGG, FLAC, WMA
📚 Geçiş Rehberi
Google Speech-to-Text kullanıyorsanız:
- Configuration’ınızdan GoogleSpeechConfig’i kaldırın
- WhisperConfig’in doğru yapılandırıldığından emin olun
- Özel ses işleme kodunuzu Whisper.net kullanacak şekilde güncelleyin
- Yerel Whisper.net modelleri ile ses transkripsiyonunu test edin
🐛 Düzeltildi
- LoggerMessage Parametre Uyumsuzluğu:
LogAudioServiceInitializedLoggerMessage tanımında eksikconfigPathparametresi düzeltildi - EventId Çakışmaları: ServiceLogMessages.cs’deki çakışan EventId atamaları çözüldü (6006, 6008, 6009)
- Logo Görüntüleme Sorunu: NuGet’te görüntüleme sorunlarına neden olan README dosyalarındaki bozuk logo referansları kaldırıldı
- TypeInitializationException: Kritik başlatma hatası düzeltildi
🔧 Teknik İyileştirmeler
- ServiceLogMessages.cs: LoggerMessage tanımları parametre sayılarıyla doğru eşleşecek şekilde güncellendi
- EventId Yönetimi: Benzersiz log tanımlayıcıları için çakışan EventId’ler yeniden atandı
BREAKING CHANGE'LER
Bu sürüm breaking API değişiklikleri içerir. Aşağıdaki taşınma kılavuzuna bakın.
🚀 Zeka Kütüphanesi Devrimi
Önemli API Değişiklikleri
GenerateRagAnswerAsync→QueryIntelligenceAsync: Akıllı sorgu işlemeyi daha iyi temsil etmek için metod yeniden adlandırıldı- Geliştirilmiş
IDocumentSearchServiceinterface’i: Gelişmiş RAG pipeline ile yeni akıllı doküman sorgu işleme - Servis katmanı iyileştirmeleri: Gelişmiş anlamsal arama ve konuşma yönetimi
- Geriye dönük uyumluluk korundu: Eski metodlar kullanımdan kaldırıldı olarak işaretlendi (v4.0.0’da kaldırılacak)
🔧 SQL Üretimi & Çok Dilli Destek
Dil-Güvenli SQL Üretimi
- Otomatik doğrulama: SQL sorgularında İngilizce olmayan metnin tespiti ve önlenmesi
- Geliştirilmiş SQL doğrulaması: SQL’de Türkçe/Almanca/Rusça karakterleri ve anahtar kelimeleri önleyen katı doğrulama
- Çok dilli sorgu desteği: AI, herhangi bir dilde sorguları işlerken saf İngilizce SQL üretir
- Karakter doğrulaması: İngilizce olmayan karakterleri tespit eder (Türkçe: ç, ğ, ı, ö, ş, ü; Almanca: ä, ö, ü, ß; Rusça: Kiril)
- Anahtar kelime doğrulaması: SQL’de İngilizce olmayan anahtar kelimeleri önler (sorgu, abfrage, запрос)
- İyileştirilmiş hata mesajları: Hata raporlarında veritabanı tipi bilgisiyle daha iyi tanılama
PostgreSQL Tam Desteği
- Eksiksiz entegrasyon: Canlı bağlantılarla tam PostgreSQL desteği
- Şema analizi: Akıllı şema çıkarma ve ilişki haritalama
- Çoklu-veritabanı sorguları: PostgreSQL ile çapraz-veritabanı sorgu koordinasyonu
- Üretime hazır: Kapsamlı test ve doğrulama
🔒 On-Premise & Şirket İçi AI Desteği
Tam On-Premise İşlem
- On-premise AI modelleri: Ollama, LM Studio ve herhangi bir OpenAI-uyumlu on-premise API için tam destek
- Doküman işleme: PDF, Word, Excel ayrıştırma - tamamen on-premise
- OCR işleme: Tesseract 5.2.0 - tamamen on-premise, buluta veri gönderilmez
- Veritabanı entegrasyonu: SQLite, SQL Server, MySQL, PostgreSQL - tüm on-premise bağlantılar
- Depolama seçenekleri: In-Memory, SQLite, FileSystem, Redis - tümü on-premise
- Tam gizlilik: Verileriniz altyapınızda kalır
Kurumsal Uyumluluk
- GDPR uyumlu: Tüm verileri altyapınızda tutun
- KVKK uyumlu: Türk veri koruma kanunu uyumluluğu
- Hava boşluklu sistemler: İnternetsiz çalışır (ses transkripsiyonu hariç)
- Finansal kurumlar: On-premise dağıtım ile banka düzeyinde güvenlik
- Sağlık: HIPAA uyumlu dağıtımlar mümkün
- Devlet: On-premise modellerle gizli veri işleme
⚠️ Önemli Kısıtlamalar
Ses Dosyaları
- Google Speech-to-Text: Ses transkripsiyonu kurumsal düzeyde konuşma tanıma için Google Cloud AI kullanır
- Whisper.net: Gizlilik hassas dağıtımlar için yerel ses transkripsiyonu seçeneği
- Veri gizliliği: Whisper.net sesi yerel olarak işler, Google Speech-to-Text buluta gönderir
- Çok dilli: Her iki sağlayıcı da otomatik algılama ile 99+ dil destekler
- Diğer formatlar: Diğer tüm dosya tipleri tamamen yerel kalır
OCR (Görsel’den Metne)
- El yazısı kısıtlaması: Tesseract OCR el yazısını tam olarak destekleyemez (düşük başarı oranı)
- Mükemmel çalışır: Basılı dokümanlar, taranmış basılı dokümanlar, yazılmış metinli dijital ekran görüntüleri
- Sınırlı destek: El yazısı notları, formlar, bitişik yazı (çok düşük doğruluk)
- En iyi sonuçlar: Basılı dokümanların yüksek kaliteli taramaları
- 100+ dil: Desteklenen tüm dilleri görüntüle
✨ Eklenenler
- Yerel AI kurulum örnekleri: Ollama ve LM Studio için configuration
- Kurumsal kullanım senaryoları: Bankacılık, Sağlık, Hukuk, Devlet, Üretim
🔧 İyileştirmeler
- Yeniden deneme mekanizması: Dile özgü talimatlarla geliştirilmiş yeniden deneme istekleri
- Hata yönetimi: Veritabanı tipi bilgisiyle daha iyi hata mesajları
- Kod kalitesi: Boyunca sürdürülen SOLID/DRY prensipleri
- Performans: Optimize edilmiş çoklu-veritabanı sorgu koordinasyonu
✅ Kalite Güvencesi
- Sıfır Uyarı Politikası: 0 hata, 0 uyarı standardı korundu
- SOLID Prensipleri: Temiz kod mimarisi
- Kapsamlı Test: PostgreSQL entegrasyonu ile çoklu-veritabanı test kapsamı
- Güvenlik sertleştirme: Geliştirilmiş kimlik bilgisi koruması
- Performans optimizasyonu: Tüm özelliklerde yüksek performans
🔄 Taşınma Kılavuzu (v2.3.0 → v3.0.0)
Servis Katmanı Metod Değişiklikleri
ESKİ (v2.3.0):
await _documentSearchService.GenerateRagAnswerAsync(query, maxResults);
YENİ (v3.0.0):
await _documentSearchService.QueryIntelligenceAsync(query, maxResults);
Geriye Dönük Uyumluluk
- Eski metodlar kullanımdan kaldırıldı ancak hala çalışıyor (v4.0.0’da kaldırılacak)
- Metodları kendi hızınızda güncelleyin
- Eski metodları kullanmaya devam ederseniz ani breaking change yok
🐛 Hata Düzeltmeleri
- LoggerMessage Parametre Uyumsuzluğu: ServiceLogMessages.LogAudioServiceInitialized parametre uyumsuzluğu düzeltildi
- Format String Düzeltmesi: Servis başlatma sırasında System.ArgumentException’ı önlemek için format string düzeltildi
- Günlükleme Kararlılığı: Google Speech-to-Text başlatma için geliştirilmiş günlükleme
🔧 Teknik İyileştirmeler
- Günlükleme Altyapısı: Geliştirilmiş güvenilirlik
- Sıfır Uyarı Politikası: Uyumluluk korundu
- Test Kapsamı: Tüm testler başarılı (8/8)
✨ Eklenenler
- Google Speech-to-Text Entegrasyonu: Kurumsal düzeyde konuşma tanıma
- Geliştirilmiş Dil Desteği: Türkçe, İngilizce dahil 100+ dil
- Gerçek Zamanlı Ses İşleme: Güven puanlamalı gelişmiş konuşmadan-metne dönüşüm
- Detaylı Transkripsiyon Sonuçları: Zaman damgalı segment düzeyinde transkripsiyon
- Otomatik Format Tespiti: MP3, WAV, M4A, AAC, OGG, FLAC, WMA desteği
- Akıllı Ses İşleme: Akıllı ses doğrulama ve hata yönetimi
- Performans Optimize: Minimum bellek ayak iziyle verimli işleme
- Yapılandırılmış Ses Çıktısı: Aranabilir, sorgulanabilir bilgi tabanı
- Kapsamlı XML Dokümantasyonu: Eksiksiz API dokümantasyonu
🔧 İyileştirmeler
- Ses İşleme Pipeline: Google Cloud AI ile geliştirilmiş
- Configuration Yönetimi: GoogleSpeechConfig kullanacak şekilde güncellendi
- Hata Yönetimi: Ses transkripsiyonu için geliştirilmiş
✨ Eklenenler
- Kullanım Senaryosu Örnekleri: Taranmış dokümanlar, makbuzlar, görsel içeriği
🔧 İyileştirmeler
- Paket Metadata: Güncellenmiş proje URL’leri ve sürüm notları
✨ Eklenenler
- Otomatik Oturum Yönetimi: Manuel oturum ID işleme gerekmez
- Kalıcı Konuşma Geçmişi: Konuşmalar yeniden başlatmalarda hayatta kalır
- Yeni Konuşma Komutları:
/new,/reset,/clear - Geliştirilmiş API: İsteğe bağlı
startNewConversationile geriye dönük uyumlu - Depolama Entegrasyonu: Redis, SQLite, FileSystem, InMemory ile çalışır
🔧 İyileştirmeler
- Format Tutarlılığı: Depolama sağlayıcıları arasında standardize edildi
- Thread Güvenliği: Geliştirilmiş eşzamanlı erişim yönetimi
- Platform Agnostik: .NET ortamlarında uyumlu
BREAKING CHANGE
.NET 9.0'dan .NET Standard 2.1'e taşındı
🔄 .NET Standard Taşınması
- Hedef Framework: .NET 9.0’dan .NET Standard 2.1’e taşındı
- Framework Uyumluluğu: Şimdi .NET Framework 4.6.1+, .NET Core 2.0+, .NET 5+ destekler
- Maksimum Erişim: Eski ve kurumsal ortamlarla geliştirilmiş uyumluluk
✨ Eklenenler
- Çapraz Platform Desteği: .NET Standard 2.1 hedef frameworkleri
- Eski Framework Desteği: Tam .NET Framework uyumluluğu
- Kurumsal Entegrasyon: Mevcut kurumsal çözümlerle sorunsuz entegrasyon
🔧 İyileştirmeler
- Dil Uyumluluğu: .NET Standard 2.1 için C# 7.3 sözdizimi
- Paket Versiyonları: .NET Standard uyumlu versiyonlara güncellendi
- API Uyumluluğu: Framework uyumluluğu sağlarken işlevselliği korundu
🧪 Test
- Unit Testler: Tüm yeni özellikler için kapsamlı test kapsamı
- Entegrasyon Testleri: Framework uyumluluğu doğrulaması
- Performans Testleri: .NET Standard performans optimizasyonu
🔒 Güvenlik
- Paket Güvenliği: Güvenlik açıkları için güncellenmiş bağımlılıklar
- API Güvenliği: Geliştirilmiş giriş doğrulama ve hata yönetimi
- Veri Koruma: Hassas veri işleme için geliştirilmiş güvenlik önlemleri
✨ Eklenenler
- Excel Doküman Desteği: Kapsamlı Excel ayrıştırma (.xlsx, .xls)
- EPPlus 8.1.0 Entegrasyonu: Ticari olmayan lisanslı modern Excel kütüphanesi
- Çalışma Sayfası Ayrıştırma: Sekme ile ayrılmış veri korumayla akıllı ayrıştırma
- Geliştirilmiş İçerik Doğrulama: Excel’e özgü yedek işleme
- Anthropic API Güvenilirliği: HTTP 529 (Aşırı Yüklenmiş) hataları için geliştirilmiş yeniden deneme
🔧 İyileştirmeler
- API Hata Yönetimi: Hız sınırlama için daha iyi yeniden deneme mantığı
- İçerik İşleme: Daha sağlam doküman ayrıştırma
- Performans: Optimize edilmiş Excel çıkarma ve doğrulama
🧪 Test
- Unit Testler: Tüm yeni özellikler için kapsamlı test kapsamı
- Entegrasyon Testleri: Framework uyumluluğu doğrulaması
- Performans Testleri: .NET Standard performans optimizasyonu
🔒 Güvenlik
- Paket Güvenliği: Güvenlik açıkları için güncellenmiş bağımlılıklar
- API Güvenliği: Geliştirilmiş giriş doğrulama ve hata yönetimi
- Veri Koruma: Hassas veri işleme için geliştirilmiş güvenlik önlemleri
🔧 Düzeltmeler
- LoggerMessage parametre sayısı uyumsuzlukları
- Sağlayıcı günlükleme mesajı uygulamaları
- Servis koleksiyonu kayıt sorunları
📦 Paket Sürümü
Sürüm Notları
- Versiyon Güncellemesi: Paket versiyonu 1.0.2’ye güncellendi
- Paket Metadata: v1.0.2 özellikleri ile sürüm notları güncellendi
🔧 İyileştirildi
- Akıllı Sorgu Niyeti Tespiti: Chat ve doküman arama arasında geliştirilmiş sorgu yönlendirme
- Dil-Agnostik Tasarım: Global uyumluluk için tüm hardcoded dil pattern’leri kaldırıldı
- Geliştirilmiş Arama İlgililiği: İsim tespiti ve içerik skorlama algoritmaları iyileştirildi
- Unicode Normalizasyonu: Özel karakter işleme sorunları düzeltildi (örn., Türkçe karakterler)
- Hız Sınırlama & Yeniden Deneme Mantığı: Exponential backoff ile sağlam API işleme
- VoyageAI Entegrasyonu: Optimize edilmiş Anthropic embedding desteği
🚀 İlk Sürüm
Özellikler
- Yüksek Performanslı RAG: Çoklu sağlayıcı AI desteği implementasyonu
- 5 AI Sağlayıcı: OpenAI, Anthropic, Gemini, Azure OpenAI, Custom
- 5 Depolama Backend: Qdrant, Redis, SQLite, FileSystem, InMemory
- Doküman Formatları: Akıllı ayrıştırma ile PDF, Word, Metin
- Kurumsal Mimari: Dependency injection ve temiz mimari
- CI/CD Pipeline: Eksiksiz GitHub Actions iş akışı
- Güvenlik: CodeQL analizi ve Codecov kapsam raporlama
- NuGet Paketi: Modern metadata ile profesyonel paket
Versiyon Geçmişi
| Versiyon | Tarih | Öne Çıkanlar |
|---|---|---|
| 3.1.0 | 2025-11-11 | Birleşik Sorgu Zekası, Akıllı Hibrit Yönlendirme, Yeni Servis Mimarisi |
| 3.0.3 | 2025-11-06 | Paket Optimizasyonu - Native Kütüphaneler Hariç |
| 3.0.0 | 2025-10-22 | Zeka Kütüphanesi Devrimi, SQL Üretimi, Yerinde Destek, PostgreSQL |
| 2.3.1 | 2025-10-08 | Hata düzeltmeleri, Günlükleme kararlılığı iyileştirmeleri |
| 2.3.0 | 2025-09-16 | Google Speech-to-Text entegrasyonu, Ses işleme |
| 2.2.0 | 2025-09-15 | OCR özellikleri iyileştirmeleri |
| 2.1.0 | 2025-09-05 | Otomatik oturum yönetimi, Kalıcı konuşma geçmişi |
| 2.0.0 | 2025-08-27 | .NET Standard 2.1 taşınması |
| 1.1.0 | 2025-08-22 | Excel desteği, EPPlus entegrasyonu |
| 1.0.3 | 2025-08-20 | Hata düzeltmeleri ve günlükleme iyileştirmeleri |
| 1.0.2 | 2025-08-19 | İlk kararlı sürüm |
| 1.0.1 | 2025-08-17 | Beta sürümü |
| 1.0.0 | 2025-08-15 | İlk sürüm |