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.
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 |