diff --git a/langchain/document_loaders/parsers/audio.py b/langchain/document_loaders/parsers/audio.py index 86ad8f8df4..de7e354ab1 100644 --- a/langchain/document_loaders/parsers/audio.py +++ b/langchain/document_loaders/parsers/audio.py @@ -1,4 +1,4 @@ -from typing import Iterator +from typing import Iterator, Optional from langchain.document_loaders.base import BaseBlobParser from langchain.document_loaders.blob_loaders import Blob @@ -9,6 +9,9 @@ class OpenAIWhisperParser(BaseBlobParser): """Transcribe and parse audio files. Audio transcription is with OpenAI Whisper model.""" + def __init__(self, api_key: Optional[str] = None): + self.api_key = api_key + def lazy_parse(self, blob: Blob) -> Iterator[Document]: """Lazily parse the blob.""" @@ -28,6 +31,10 @@ class OpenAIWhisperParser(BaseBlobParser): "pydub package not found, please install it with " "`pip install pydub`" ) + # Set the API key if provided + if self.api_key: + openai.api_key = self.api_key + # Audio file from disk audio = AudioSegment.from_file(blob.path)