whisper.py 859 B

123456789101112131415161718192021222324252627
  1. import openai
  2. from core.llm.wrappers.openai_wrapper import handle_openai_exceptions
  3. from models.provider import ProviderName
  4. from core.llm.provider.base import BaseProvider
  5. class Whisper:
  6. def __init__(self, provider: BaseProvider):
  7. self.provider = provider
  8. if self.provider.get_provider_name() == ProviderName.OPENAI:
  9. self.client = openai.Audio
  10. self.credentials = provider.get_credentials()
  11. @handle_openai_exceptions
  12. def transcribe(self, file):
  13. return self.client.transcribe(
  14. model='whisper-1',
  15. file=file,
  16. api_key=self.credentials.get('openai_api_key'),
  17. api_base=self.credentials.get('openai_api_base'),
  18. api_type=self.credentials.get('openai_api_type'),
  19. api_version=self.credentials.get('openai_api_version'),
  20. )