File size: 1,522 Bytes
41979e6
e4a7287
6a4e9e3
fe4903b
41979e6
6a4e9e3
fe4903b
 
e4a7287
fe4903b
 
 
 
e4a7287
 
2c358c1
0ac6d59
e4a7287
5a94ffd
 
6a4e9e3
5a94ffd
 
fe4903b
 
e4a7287
fe4903b
 
 
e4a7287
 
fe4903b
5a94ffd
e4a7287
 
fe4903b
6a4e9e3
fe4903b
6a4e9e3
 
 
fe4903b
 
 
 
6a4e9e3
 
fe4903b
41979e6
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import os
from pathlib import Path
from pydantic_settings import BaseSettings
from typing import ClassVar, Optional

class Settings(BaseSettings):
    """Uygulama genelinde kullanılan ayarlar."""
    
    # Temel ayarlar
    ENVIRONMENT: str = "production"
    DEBUG: bool = False
    ENCRYPTION_KEY: str = os.environ.get("ENCRYPTION_KEY", "your-secret-key-here")
    API_PREFIX: str = "/api/v1"
    
    # Hugging Face ayarları
    HF_TOKEN: str = ""  # Hugging Face API token'ı
    HF_CACHE_DIR: Path = Path("/root/.cache/huggingface")  # Hugging Face cache dizini
    
    # ASR ve Diarization ayarları
    ASR_MODEL: str = "small"  # Whisper model (tiny, base, small, medium, large-v3)
    DIARIZATION_MODEL: str = "pyannote/speaker-diarization-3.0"
    
    # İşlem ayarları
    ANONYMIZE_DATA: bool = True
    ENHANCE_AUDIO: bool = True
    
    # Dosya ayarları
    MAX_UPLOAD_SIZE: int = 25 * 1024 * 1024  # 25 MB
    ALLOWED_EXTENSIONS: set[str] = {"wav", "mp3", "m4a", "ogg"}
    
    # Dil ayarları
    LANGUAGE: str = "tr"
    SPACY_MODEL: str = "tr_core_news_sm"  # Küçük Türkçe model
    
    # Özel tıbbi terimler dosyası
    MEDICAL_TERMS_FILE: str = "medical_terms.json"
    
    # Diarization ayarları
    MIN_SPEAKER_DURATION: float = 1.0
    MAX_SPEAKERS: int = 5
    SAMPLE_RATE: int = 16000
    
    # Cache ayarları
    CACHE_DIR: Path = Path("/tmp/voice_to_write_cache")
    
    class Config:
        env_file = ".env"
        env_file_encoding = "utf-8"

settings = Settings()