audio_transcription#
__all__ = ['BaseAudioTranscriptionDriver']module-attribute
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: ...