Bases: SerializableMixin
, ExponentialBackoffMixin
, ABC
Source code in griptape/drivers/audio_transcription/base_audio_transcription_driver.py
| @define
class BaseAudioTranscriptionDriver(SerializableMixin, ExponentialBackoffMixin, ABC):
model: str = field(kw_only=True, metadata={"serializable": True})
def before_run(self) -> None:
EventBus.publish_event(StartAudioTranscriptionEvent())
def after_run(self) -> None:
EventBus.publish_event(FinishAudioTranscriptionEvent())
def run(self, audio: AudioArtifact, prompts: Optional[list[str]] = None) -> TextArtifact:
for attempt in self.retrying():
with attempt:
self.before_run()
result = self.try_run(audio, prompts)
self.after_run()
return result
raise Exception("Failed to run audio transcription")
@abstractmethod
def try_run(self, audio: AudioArtifact, prompts: Optional[list[str]] = None) -> TextArtifact: ...
|
model = field(kw_only=True, metadata={'serializable': True})
class-attribute
instance-attribute
after_run()
Source code in griptape/drivers/audio_transcription/base_audio_transcription_driver.py
| def after_run(self) -> None:
EventBus.publish_event(FinishAudioTranscriptionEvent())
|
before_run()
Source code in griptape/drivers/audio_transcription/base_audio_transcription_driver.py
| def before_run(self) -> None:
EventBus.publish_event(StartAudioTranscriptionEvent())
|
run(audio, prompts=None)
Source code in griptape/drivers/audio_transcription/base_audio_transcription_driver.py
| def run(self, audio: AudioArtifact, prompts: Optional[list[str]] = None) -> TextArtifact:
for attempt in self.retrying():
with attempt:
self.before_run()
result = self.try_run(audio, prompts)
self.after_run()
return result
raise Exception("Failed to run audio transcription")
|
try_run(audio, prompts=None)
abstractmethod
Source code in griptape/drivers/audio_transcription/base_audio_transcription_driver.py
| @abstractmethod
def try_run(self, audio: AudioArtifact, prompts: Optional[list[str]] = None) -> TextArtifact: ...
|