feat: add Groq Whisper API support for transcription and translation
Add support for Groq Whisper API as an alternative to OpenAI: - groq-transcription: Fast transcription using whisper-large-v3 or whisper-large-v3-turbo - groq-translation: Translation to English (whisper-large-v3 only) Features: - New transcription adapters for both Groq services - Config validation with provider-specific model restrictions - API key support via config file or GROQ_API_KEY environment variable - Updated interactive configuration wizard with provider selection - Comprehensive test coverage for all providers - Shared WAV conversion utility for audio preprocessing Breaking changes: None Backward compatibility: Existing OpenAI configurations continue to work unchanged
This commit is contained in:
@@ -35,6 +35,46 @@ func TestNewTranscriber(t *testing.T) {
|
||||
},
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "valid groq-transcription config",
|
||||
config: Config{
|
||||
Provider: "groq-transcription",
|
||||
APIKey: "gsk-test-key",
|
||||
Language: "en",
|
||||
Model: "whisper-large-v3",
|
||||
},
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "groq-transcription config without api key",
|
||||
config: Config{
|
||||
Provider: "groq-transcription",
|
||||
APIKey: "",
|
||||
Language: "en",
|
||||
Model: "whisper-large-v3",
|
||||
},
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "valid groq-translation config",
|
||||
config: Config{
|
||||
Provider: "groq-translation",
|
||||
APIKey: "gsk-test-key",
|
||||
Language: "es",
|
||||
Model: "whisper-large-v3-turbo",
|
||||
},
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "groq-translation config without api key",
|
||||
config: Config{
|
||||
Provider: "groq-translation",
|
||||
APIKey: "",
|
||||
Language: "es",
|
||||
Model: "whisper-large-v3-turbo",
|
||||
},
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "unsupported provider",
|
||||
config: Config{
|
||||
|
||||
Reference in New Issue
Block a user