File size: 1,046 Bytes
e5abe38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
"""
Utilities for lazy loading models and helpers
"""

# Lazy-loaded model caches
_rouge_scorer = None
_comet_model = None


def get_rouge():
    """Get or create ROUGE scorer (lazy loaded)"""
    global _rouge_scorer

    if _rouge_scorer is None:
        from rouge_score import rouge_scorer

        _rouge_scorer = rouge_scorer.RougeScorer(
            ["rouge1", "rouge2", "rougeL"],
            use_stemmer=False
        )

    return _rouge_scorer


def get_comet():
    """Get or create COMET model (lazy loaded)"""

    global _comet_model

    if _comet_model is None:
        try:
            from comet import download_model, load_from_checkpoint

            print("Loading COMET model... (first run may download)")

            model_path = download_model("Unbabel/wmt20-comet-da")

            _comet_model = load_from_checkpoint(model_path)

            print("COMET model loaded successfully")

        except Exception as e:
            print(f"COMET not available: {e}")
            _comet_model = None

    return _comet_model