Make Voxtral the only transcription provider
This commit is contained in:
@@ -2,70 +2,23 @@ package transcription
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"math"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestAdjustLeadSilence(t *testing.T) {
|
||||
got := adjustLeadSilence([]Segment{
|
||||
{Start: 0.2, End: 1.1, Text: "first"},
|
||||
{Start: 1.4, End: 2.0, Text: "second"},
|
||||
}, 800*time.Millisecond)
|
||||
|
||||
if got[0].Start != 0 {
|
||||
t.Fatalf("first start = %v, want 0", got[0].Start)
|
||||
}
|
||||
if !near(got[0].End, 0.3) {
|
||||
t.Fatalf("first end = %v, want 0.3", got[0].End)
|
||||
}
|
||||
if !near(got[1].Start, 0.6) {
|
||||
t.Fatalf("second start = %v, want 0.6", got[1].Start)
|
||||
}
|
||||
}
|
||||
|
||||
func TestNormalizeProviderOrder(t *testing.T) {
|
||||
got := normalizeProviderOrder([]string{"whisperx", "qwen", "voxtral", "qwen2-audio"})
|
||||
want := []string{ProviderWhisperX, ProviderQwenAudio, ProviderVoxtral}
|
||||
if len(got) != len(want) {
|
||||
t.Fatalf("providers = %#v, want %#v", got, want)
|
||||
}
|
||||
for i := range want {
|
||||
if got[i] != want[i] {
|
||||
t.Fatalf("providers = %#v, want %#v", got, want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewWithOptionsBuildsComparisonProviders(t *testing.T) {
|
||||
func TestNewWithOptionsBuildsVoxtralProvider(t *testing.T) {
|
||||
client := NewWithOptions(Options{
|
||||
Providers: []string{"whisperx", "qwen2-audio", "voxtral-small"},
|
||||
WhisperXURL: "http://whisperx",
|
||||
QwenAudioBaseURL: "http://qwen",
|
||||
VoxtralBaseURL: "http://voxtral",
|
||||
VoxtralBaseURL: "http://voxtral",
|
||||
})
|
||||
if client == nil {
|
||||
t.Fatal("client is nil")
|
||||
}
|
||||
got := make([]string, 0, len(client.providers))
|
||||
for _, provider := range client.providers {
|
||||
got = append(got, provider.Name)
|
||||
if client.provider.Name != ProviderVoxtral {
|
||||
t.Fatalf("provider = %q, want %q", client.provider.Name, ProviderVoxtral)
|
||||
}
|
||||
want := []string{ProviderWhisperX, ProviderQwenAudio, ProviderVoxtral}
|
||||
for i := range want {
|
||||
if got[i] != want[i] {
|
||||
t.Fatalf("providers = %#v, want %#v", got, want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestAudioDataURLUsesVLLMAudioURLFormat(t *testing.T) {
|
||||
got := audioDataURL([]byte("abc"), "call.wav")
|
||||
want := "data:audio/wav;base64,YWJj"
|
||||
if got != want {
|
||||
t.Fatalf("audio data url = %q, want %q", got, want)
|
||||
if client.provider.Model != "mistralai/Voxtral-Small-24B-2507" {
|
||||
t.Fatalf("model = %q", client.provider.Model)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,7 +50,6 @@ func TestVoxtralUsesAudioTranscriptionsEndpoint(t *testing.T) {
|
||||
defer providerSrv.Close()
|
||||
|
||||
client := NewWithOptions(Options{
|
||||
Providers: []string{"voxtral-small"},
|
||||
VoxtralBaseURL: providerSrv.URL,
|
||||
VoxtralModel: "mistralai/Voxtral-Small-24B-2507",
|
||||
})
|
||||
@@ -158,7 +110,3 @@ func TestNormalizeAudioLLMSegmentsKeepsSegmentsAndAddsSpeakers(t *testing.T) {
|
||||
t.Fatalf("speakers = %q/%q", got[0].Speaker, got[1].Speaker)
|
||||
}
|
||||
}
|
||||
|
||||
func near(got, want float64) bool {
|
||||
return math.Abs(got-want) < 0.000001
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user