File size: 1,120 Bytes
a214f17
 
 
 
 
 
 
 
10b7682
a214f17
 
 
 
 
89eba48
 
8b2186e
89eba48
9c38b67
a214f17
 
 
89eba48
a214f17
 
 
 
 
 
 
 
 
 
 
 
89eba48
 
 
 
 
 
a214f17
 
 
 
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
import os
from dataclasses import dataclass, field
from typing import Dict


@dataclass
class Config:
    HF_TOKEN: str = field(
        default_factory=lambda: os.environ.get("HF_TOKEN", "HF_TOKEN").strip()
    )

    # Language detection
    FASTTEXT_MODEL: str = "facebook/fasttext-language-identification"


    TRANSLATION_MODEL: str = "facebook/nllb-200-3.3B"
    TRANSLATION_MODEL_BIDERECTIONAL = "drrobot9/nllb-3.3B-yoruba-bidirectional"
    # LLM
    LLM_MODEL:       str   = "Qwen/Qwen2.5-1.5B-Instruct"
    LLM_MAX_TOKENS:  int   = 512
    LLM_TEMPERATURE: float = 0.2


    ASR_MODELS: Dict[str, str] = field(default_factory=lambda: {
        "yoruba":  "NCAIR1/Yoruba-ASR",
        "igbo":    "NCAIR1/Igbo-ASR",
        "hausa":   "NCAIR1/Hausa-ASR",
        "english": "NCAIR1/NigerianAccentedEnglish",
    })

    SAMPLING_RATE: int = 16_000

    # Memory
    MAX_HISTORY_TURNS: int = 10


    NLLB_CODES: Dict[str, str] = field(default_factory=lambda: {
        "yoruba":  "yor_Latn",
        "igbo":    "ibo_Latn",
        "hausa":   "hau_Latn",
        "english": "eng_Latn",
    })


config = Config()