Skip to content

audio_transcription

__all__ = ['BaseAudioTranscriptionDriver'] module-attribute

BaseAudioTranscriptionDriver

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: ...