Ses & OCR
SmartRAG ses ve OCR yapılandırması - Whisper.net ve Tesseract OCR ayarları
Ses & OCR Yapılandırması
SmartRAG ses dosyalarını metne çevirme ve görsellerden metin çıkarma yetenekleri sunar:
Whisper.net (Yerel Ses Transkripsiyonu)
Whisper.net, 99+ dil desteğiyle yerel, on-premise ses transkripsiyonu sağlar:
WhisperConfig Parametreleri
| Parametre | Tip | Varsayılan | Açıklama |
|---|---|---|---|
ModelPath |
string |
"models/ggml-large-v3.bin" |
Whisper model dosyası yolu |
DefaultLanguage |
string |
"auto" |
Transkripsiyon için dil kodu |
MinConfidenceThreshold |
double |
0.3 |
Minimum güven skoru (0.0-1.0) |
IncludeWordTimestamps |
bool |
false |
Kelime bazlı zaman damgaları dahil et |
PromptHint |
string |
"" |
Daha iyi doğruluk için bağlam ipucu |
MaxThreads |
int |
0 |
CPU thread sayısı (0 = otomatik algılama) |
Whisper Model Boyutları
| Model | Boyut | Hız | Doğruluk | Kullanım Durumu |
|---|---|---|---|---|
tiny |
75MB | ⭐⭐⭐⭐⭐ | ⭐⭐ | Hızlı prototipleme |
base |
142MB | ⭐⭐⭐⭐ | ⭐⭐⭐ | Dengeli performans |
small |
244MB | ⭐⭐⭐ | ⭐⭐⭐⭐ | İyi doğruluk |
medium |
769MB | ⭐⭐ | ⭐⭐⭐⭐⭐ | Yüksek doğruluk |
large-v3 |
1.5GB | ⭐ | ⭐⭐⭐⭐⭐ | En iyi doğruluk |
Model İndirme
Whisper.net, ilk kullanımda Hugging Face’den GGML modellerini otomatik olarak indirir. Modeller ModelPath yapılandırmasında belirtilen yola kaydedilir:
Otomatik İndirme:
- Modeller ilk kullanıldığında
WhisperGgmlDownloaderaracılığıyla otomatik indirilir - Hugging Face deposundan indirilir
ModelPathiçinde belirtilen yola kaydedilir (varsayılan:models/ggml-large-v3.bin)- Manuel indirme gerekmez
Model Dosyaları:
- Format:
ggml-{model-adı}.bin(örn.,ggml-base.bin,ggml-large-v3.bin) - Mevcut modeller:
tiny,base,small,medium,large-v3 - İlk kullanımda model otomatik indirilir (~5-10 dakika, bağlantı ve model boyutuna bağlı)
Yapılandırma:
{
"SmartRAG": {
"WhisperConfig": {
"ModelPath": "models/ggml-large-v3.bin"
}
}
}
Önemli Notlar:
- Whisper.net kendi GGML model formatını ve indirme sistemini kullanır
- Bu, Ollama, LM Studio veya cloud servislerinden bağımsızdır
- Modeller
ModelPathkonumunda yerel olarak saklanır - On-premise dağıtımlar için, uygulamanın model dizinine yazma erişimi olduğundan emin olun
- Cloud dağıtımlar için, modelleri önceden indirmeyi veya kalıcı depolama birimleri kullanmayı düşünün
Yapılandırma Örneği
{
"SmartRAG": {
"WhisperConfig": {
"ModelPath": "models/ggml-large-v3.bin",
"DefaultLanguage": "auto",
"MinConfidenceThreshold": 0.3,
"IncludeWordTimestamps": false,
"PromptHint": "",
"MaxThreads": 0
}
}
}
builder.Services.AddSmartRag(configuration, options =>
{
options.WhisperConfig = new WhisperConfig
{
ModelPath = "models/ggml-large-v3.bin",
DefaultLanguage = "auto",
MinConfidenceThreshold = 0.3,
IncludeWordTimestamps = false,
PromptHint = "",
MaxThreads = 0
};
});
auto- Otomatik dil algılama (önerilen)tr- Türkçeen- İngilizcede- Almancafr- Fransızcaes- İspanyolcait- İtalyancaru- Rusçaja- Japoncako- Korecezh- Çince- 99+ dil desteklenir
Kullanım Örneği
// Ses dosyası yükleme
var document = await _documentService.UploadDocumentAsync(
audioStream,
"toplanti-kaydi.mp3",
"audio/mpeg",
"kullanici-id"
);
// AI ile ses dosyası hakkında soru sorma
var response = await _aiService.AskAsync(
"Bu toplantıda hangi konular konuşuldu?",
"kullanici-id"
);
Gizlilik Öncelikli
Ses dosyaları Whisper.net kullanılarak yerel olarak işlenir. Hiçbir veri makinenizi terk etmez - GDPR/KVKK/HIPAA uyumluluğu için mükemmel.
OCR Yapılandırması
Tesseract OCR, 100+ dil desteğiyle görsellerden ve PDF’lerden metin çıkarma sağlar:
Tesseract Dil Desteği
// Görselleri yüklerken OCR için dil belirtin
var document = await _documentService.UploadDocumentAsync(
imageStream,
"fatura.jpg",
"image/jpeg",
"kullanici-id",
language: "tur" // Türkçe OCR
);
// İngilizce OCR
language: "eng"
// Çoklu dil
language: "tur+eng"
Desteklenen OCR Dilleri
tur- Türkçeeng- İngilizcedeu- Almancafra- Fransızcaspa- İspanyolcaita- İtalyancarus- Rusçaara- Arapçachi- Çincejpn- Japoncakor- Korecehin- Hintçe- 100+ dil desteklenir
OCR Kullanım Örnekleri
// Fatura analizi
var invoice = await _documentService.UploadDocumentAsync(
invoiceStream,
"fatura-2024-01.pdf",
"application/pdf",
"kullanici-id",
language: "tur"
);
var analysis = await _aiService.AskAsync(
"Bu faturada hangi ürünler var ve toplam tutar nedir?",
"kullanici-id"
);
// Kimlik belgesi analizi
var idCard = await _documentService.UploadDocumentAsync(
idCardStream,
"kimlik.jpg",
"image/jpeg",
"kullanici-id",
language: "tur"
);
var info = await _aiService.AskAsync(
"Bu kimlik belgesindeki kişinin adı ve doğum tarihi nedir?",
"kullanici-id"
);
OCR Yetenekleri
OCR Yetenekleri
- ✅ Mükemmel çalışır: Basılı dokümanlar, taranmış metinler, dijital ekran görüntüleri
- ⚠️ Sınırlı destek: El yazısı metin (çok düşük doğruluk)
- 💡 En iyi sonuçlar: Basılı dokümanların yüksek kaliteli taramaları
- 🔒 %100 On-Premise: Buluta veri gönderilmez - Tesseract on-premise olarak çalışır
Desteklenen Dosya Formatları
Ses Formatları:
audio/mpeg- MP3 dosyalarıaudio/wav- WAV dosyalarıaudio/m4a- M4A dosyalarıaudio/flac- FLAC dosyalarıaudio/ogg- OGG dosyaları
Görsel Formatları:
image/jpeg- JPEG görsellerimage/png- PNG görsellerimage/tiff- TIFF görsellerimage/bmp- BMP görsellerimage/gif- GIF görseller
PDF Formatları:
application/pdf- PDF dokümanları (sayfa sayfa OCR)
Ses Kalite İpuçları
- Temiz Ses: Arka plan gürültüsü ve eko’dan kaçının
- İyi Mikrofon: Kaliteli kayıt ekipmanı kullanın
- Doğru Dil: Konuşmanın dilini doğru belirtin
- Dosya Formatı: MP3, WAV, M4A formatları en iyi sonucu verir
OCR Kalite İpuçları
- Yüksek Çözünürlük: En az 300 DPI tarama kalitesi
- Temiz Görüntü: Bulanık veya gölgeli görüntülerden kaçının
- Doğru Dil: Görüntüdeki metnin dilini doğru belirtin
- Kontrast: Yüksek kontrastlı, siyah-beyaz görüntüler tercih edin
Ses ve OCR Karşılaştırması
Whisper.net ve Tesseract OCR yeteneklerini karşılaştırın:
| Özellik | Whisper.net | Tesseract OCR |
|---|---|---|
| Veri Gizliliği | %100 On-premise | %100 On-premise |
| Doğruluk | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Dil Desteği | ⭐⭐⭐⭐⭐ (99+ dil) | ⭐⭐⭐⭐ (100+ dil) |
| Kurulum | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Maliyet | Ücretsiz | Ücretsiz |
| Performans | ⭐⭐⭐⭐ | ⭐⭐⭐ |
Güvenlik ve Gizlilik
Ses Güvenliği
// Whisper.net tamamen on-premise çalışır
var document = await _documentService.UploadDocumentAsync(
sensitiveAudioStream,
"gizli-toplanti.mp3",
"audio/mpeg",
"kullanici-id"
// Veri hiçbir zaman buluta gönderilmez
);
OCR Güvenliği
// OCR tamamen on-premise çalışır
var document = await _documentService.UploadDocumentAsync(
sensitiveImageStream,
"gizli-dokuman.jpg",
"image/jpeg",
"kullanici-id",
language: "tur"
// Veri hiçbir zaman buluta gönderilmez
);