feat(transcription): add AssemblyAI as transcription provider
Add AssemblyAI as a third transcription provider option alongside OpenAI and Groq. AssemblyAI offers better accuracy for certain audio types (distant voices, noisy environments) and serves as a reliable fallback when other providers struggle. Changes: - Add AssemblyAITranscriptionProvider class in providers/transcription.py - Add 'assemblyai' option in base channel's transcribe_audio() - Per-channel configuration via transcriptionProvider in config Usage: Set transcriptionProvider: 'assemblyai' and provide an AssemblyAI API key via transcriptionApiKey in the channel config.
This commit is contained in:
@@ -245,3 +245,18 @@ def test_match_provider_routes_forced_novita_model_api_models() -> None:
|
||||
|
||||
assert config.get_provider_name() == "novita"
|
||||
assert config.get_api_base() == "https://api.novita.ai/openai"
|
||||
|
||||
|
||||
def test_transcription_only_provider_is_not_chat_fallback() -> None:
|
||||
config = Config.model_validate({
|
||||
"providers": {
|
||||
"assemblyai": {"apiKey": "aai-test"},
|
||||
},
|
||||
"agents": {
|
||||
"defaults": {
|
||||
"model": "assemblyai/universal-3-pro",
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
assert config.get_provider_name() is None
|
||||
|
||||
Reference in New Issue
Block a user