Skip to main content
Open In ColabOpen on GitHub

Azure OpenAI Whisper 解析器

Azure OpenAI Whisper Parser 是一个围绕 Azure OpenAI Whisper API 的封装器,它利用机器学习将音频文件转录为英文文本。

该解析器支持 .mp3.mp4.mpeg.mpga.m4a.wav.webm 格式。

当前的实现遵循 LangChain 核心原则,可以与其他加载器一起用于处理音频下载和解析。因此,该解析器将 yield 一个 Iterator[Document]

先决条件

该服务需要 Azure 凭据、Azure 端点以及 Whisper Model 部署,您可以通过此处的指南进行设置。此外,还必须安装所需的依赖项。

%pip install -Uq  langchain langchain-community openai

示例 1

AzureOpenAIWhisperParser.lazy_parse 方法接受一个 Blob 对象作为参数,该对象包含要转录文件的文件路径。

from langchain_core.documents.base import Blob

audio_path = "path/to/your/audio/file"
audio_blob = Blob(path=audio_path)
API Reference:Blob
from langchain_community.document_loaders.parsers.audio import AzureOpenAIWhisperParser

endpoint = "<your_endpoint>"
key = "<your_api_key"
version = "<your_api_version>"
name = "<your_deployment_name>"

parser = AzureOpenAIWhisperParser(
api_key=key, azure_endpoint=endpoint, api_version=version, deployment_name=name
)
documents = parser.lazy_parse(blob=audio_blob)
for doc in documents:
print(doc.page_content)

示例 2

AzureOpenAIWhisperParser 也可以与音频加载器结合使用,例如与 GenericLoader 一起使用的 YoutubeAudioLoader

from langchain_community.document_loaders.blob_loaders.youtube_audio import (
YoutubeAudioLoader,
)
from langchain_community.document_loaders.generic import GenericLoader
# Must be a list
url = ["www.youtube.url.com"]

save_dir = "save/directory/"
name = "<your_deployment_name>"

loader = GenericLoader(
YoutubeAudioLoader(url, save_dir), AzureOpenAIWhisperParser(deployment_name=name)
)

docs = loader.load()
for doc in documents:
print(doc.page_content)