mirror of
https://github.com/hwchase17/langchain.git
synced 2025-08-12 14:23:58 +00:00
migrate openai audio api (#13557)
for issue https://github.com/langchain-ai/langchain/issues/13162 migrate openai audio api, as [openai v1.0.0 Migration Guide](https://github.com/openai/openai-python/discussions/742) <!-- Thank you for contributing to LangChain! Replace this entire comment with: - **Description:** a description of the change, - **Issue:** the issue # it fixes (if applicable), - **Dependencies:** any dependencies required for this change, - **Tag maintainer:** for a quicker response, tag the relevant maintainer (see below), - **Twitter handle:** we announce bigger features on Twitter. If your PR gets announced, and you'd like a mention, we'll gladly shout you out! Please make sure your PR is passing linting and testing before submitting. Run `make format`, `make lint` and `make test` to check this locally. See contribution guidelines for more information on how to write/run tests, lint, etc: https://github.com/langchain-ai/langchain/blob/master/.github/CONTRIBUTING.md If you're adding a new integration, please include: 1. a test for the integration, preferably unit tests that do not rely on network access, 2. an example notebook showing its use. It lives in `docs/extras` directory. If no one reviews your PR within a few days, please @-mention one of @baskaryan, @eyurtsev, @hwchase17. --> --------- Co-authored-by: Double Max <max@ground-map.com>
This commit is contained in:
parent
abbba6c7d8
commit
74c7b799ef
@ -6,6 +6,7 @@ from langchain_core.documents import Document
|
|||||||
|
|
||||||
from langchain.document_loaders.base import BaseBlobParser
|
from langchain.document_loaders.base import BaseBlobParser
|
||||||
from langchain.document_loaders.blob_loaders import Blob
|
from langchain.document_loaders.blob_loaders import Blob
|
||||||
|
from langchain.utils.openai import is_openai_v1
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -36,9 +37,13 @@ class OpenAIWhisperParser(BaseBlobParser):
|
|||||||
"pydub package not found, please install it with " "`pip install pydub`"
|
"pydub package not found, please install it with " "`pip install pydub`"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Set the API key if provided
|
if is_openai_v1():
|
||||||
if self.api_key:
|
# api_key optional, defaults to `os.environ['OPENAI_API_KEY']`
|
||||||
openai.api_key = self.api_key
|
client = openai.OpenAI(api_key=self.api_key)
|
||||||
|
else:
|
||||||
|
# Set the API key if provided
|
||||||
|
if self.api_key:
|
||||||
|
openai.api_key = self.api_key
|
||||||
|
|
||||||
# Audio file from disk
|
# Audio file from disk
|
||||||
audio = AudioSegment.from_file(blob.path)
|
audio = AudioSegment.from_file(blob.path)
|
||||||
@ -63,7 +68,12 @@ class OpenAIWhisperParser(BaseBlobParser):
|
|||||||
attempts = 0
|
attempts = 0
|
||||||
while attempts < 3:
|
while attempts < 3:
|
||||||
try:
|
try:
|
||||||
transcript = openai.Audio.transcribe("whisper-1", file_obj)
|
if is_openai_v1():
|
||||||
|
transcript = client.audio.transcriptions.create(
|
||||||
|
model="whisper-1", file=file_obj
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
transcript = openai.Audio.transcribe("whisper-1", file_obj)
|
||||||
break
|
break
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
attempts += 1
|
attempts += 1
|
||||||
|
Loading…
Reference in New Issue
Block a user