//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)
|
}
|
}
|