Ariver
2026-06-03 7a6b1d5487dec384ea3c93b7178e71d6a99d863b
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
//go:build darwin
 
package engine
 
import (
    "path/filepath"
    "testing"
 
    "voicesnap/internal/model"
)
 
func TestOfflineConfigForParakeetUsesNemoTransducer(t *testing.T) {
    root := t.TempDir()
    files := map[string]string{
        "encoder": filepath.Join(root, "encoder.int8.onnx"),
        "decoder": filepath.Join(root, "decoder.int8.onnx"),
        "joiner":  filepath.Join(root, "joiner.int8.onnx"),
        "tokens":  filepath.Join(root, "tokens.txt"),
    }
    resolved := model.ResolvedModel{
        ModelID:     model.ParakeetModelID,
        BackendKind: model.BackendNemoTransducer,
        Profile: model.ModelProfile{
            DisplayName:   "Parakeet English",
            BackendKind:   model.BackendNemoTransducer,
            ProviderOrder: []string{"cpu"},
            NumThreads:    4,
        },
        Files: files,
    }
 
    config, err := offlineConfigForResolvedModel(resolved, "cpu")
    if err != nil {
        t.Fatal(err)
    }
    if config.ModelConfig.Transducer.Encoder != files["encoder"] {
        t.Fatalf("encoder = %q, want %q", config.ModelConfig.Transducer.Encoder, files["encoder"])
    }
    if config.ModelConfig.Transducer.Decoder != files["decoder"] {
        t.Fatalf("decoder = %q, want %q", config.ModelConfig.Transducer.Decoder, files["decoder"])
    }
    if config.ModelConfig.Transducer.Joiner != files["joiner"] {
        t.Fatalf("joiner = %q, want %q", config.ModelConfig.Transducer.Joiner, files["joiner"])
    }
    if config.ModelConfig.Tokens != files["tokens"] {
        t.Fatalf("tokens = %q, want %q", config.ModelConfig.Tokens, files["tokens"])
    }
    if config.ModelConfig.ModelType != model.BackendNemoTransducer {
        t.Fatalf("model type = %q, want %q", config.ModelConfig.ModelType, model.BackendNemoTransducer)
    }
}