AzureOpenAIWhisperParser#

class langchain_community.document_loaders.parsers.audio.AzureOpenAIWhisperParser(*, api_key: str | None = None, azure_endpoint: str | None = None, api_version: str | None = None, azure_ad_token_provider: Callable[[], str] | None = None, language: str | None = None, prompt: str | None = None, response_format: Literal['json', 'text', 'srt', 'verbose_json', 'vtt'] | None = None, temperature: float | None = None, deployment_name: str, max_retries: int = 3)[source]#

使用Azure OpenAI Whisper转录和解析音频文件。

此解析器与Azure OpenAI Whisper模型集成,用于转录音频文件。它与标准的OpenAI Whisper解析器不同,需要Azure端点和凭据。该解析器仅限于25 MB以下的文件。

注意: 此解析器使用Azure OpenAI API,提供与Azure的集成

生态系统,并使其适用于涉及其他Azure服务的工作流程。

对于大于25 MB的文件,考虑使用Azure AI Speech批量转录: https://learn.microsoft.com/azure/ai-services/speech-service/batch-transcription-create?pivots=rest-api#use-a-whisper-model

Setup:
  1. 按照这里的说明部署Azure Whisper: https://learn.microsoft.com/azure/ai-services/openai/whisper-quickstart?tabs=command-line%2Cpython-new&pivots=programming-language-python

  2. 安装 langchain 并设置以下环境变量:

pip install -U langchain langchain-community

export AZURE_OPENAI_API_KEY="your-api-key"
export AZURE_OPENAI_ENDPOINT="https://your-endpoint.openai.azure.com/"
export OPENAI_API_VERSION="your-api-version"
Example Usage:
from langchain.community import AzureOpenAIWhisperParser

whisper_parser = AzureOpenAIWhisperParser(
    deployment_name="your-whisper-deployment",
    api_version="2024-06-01",
    api_key="your-api-key",
    # other params...
)

audio_blob = Blob(path="your-audio-file-path")
response = whisper_parser.lazy_parse(audio_blob)

for document in response:
    print(document.page_content)
Integration with Other Loaders:

AzureOpenAIWhisperParser 可以与视频/音频加载器和 GenericLoader 一起使用,以自动执行检索和解析。

YoutubeAudioLoader Example:
from langchain_community.document_loaders.blob_loaders import (
    YoutubeAudioLoader
    )
from langchain_community.document_loaders.generic import GenericLoader

# Must be a list
youtube_url = ["https://your-youtube-url"]
save_dir = "directory-to-download-videos"

loader = GenericLoader(
    YoutubeAudioLoader(youtube_url, save_dir),
    AzureOpenAIWhisperParser(deployment_name="your-deployment-name")
)

docs = loader.load()

初始化 AzureOpenAIWhisperParser。

Parameters:
  • api_key (Optional[str]) – Azure OpenAI API 密钥。如果未提供,则默认为 AZURE_OPENAI_API_KEY 环境变量。

  • azure_endpoint (可选[str]) – Azure OpenAI 服务端点。如果未设置,则默认为 AZURE_OPENAI_ENDPOINT 环境变量。

  • api_version (可选[str]) – 使用的API版本, 默认为OPENAI_API_VERSION环境变量。

  • azure_ad_token_provider (Union[Callable[[], str], None]) – 用于身份验证的Azure Active Directory令牌(如果适用)。

  • language (可选[str]) – 请求应处理的语言。

  • prompt (可选[str]) – 为Whisper模型提供的自定义指令或提示。

  • response_format (Union[str, None]) – 所需的输出格式。选项:“json”,“text”,“srt”,“verbose_json”,“vtt”。

  • temperature (可选[float]) – 控制模型输出的随机性。

  • deployment_name (str) – Whisper 模型的部署名称。

  • max_retries (int) – 失败API请求的最大重试次数。

Raises:

ImportError – 如果所需的包 openai 未安装。

方法

__init__(*[, api_key, azure_endpoint, ...])

初始化 AzureOpenAIWhisperParser。

lazy_parse(blob)

懒解析提供的音频 blob 进行转录。

parse(blob)

急切地将blob解析为一个或多个文档。

__init__(*, api_key: str | None = None, azure_endpoint: str | None = None, api_version: str | None = None, azure_ad_token_provider: Callable[[], str] | None = None, language: str | None = None, prompt: str | None = None, response_format: Literal['json', 'text', 'srt', 'verbose_json', 'vtt'] | None = None, temperature: float | None = None, deployment_name: str, max_retries: int = 3)[source]#

初始化 AzureOpenAIWhisperParser。

Parameters:
  • api_key (Optional[str]) – Azure OpenAI API 密钥。如果未提供,则默认为 AZURE_OPENAI_API_KEY 环境变量。

  • azure_endpoint (可选[str]) – Azure OpenAI 服务端点。如果未设置,则默认为 AZURE_OPENAI_ENDPOINT 环境变量。

  • api_version (可选[str]) – 使用的API版本, 默认为OPENAI_API_VERSION环境变量。

  • azure_ad_token_provider (Union[Callable[[], str], None]) – 用于身份验证的Azure Active Directory令牌(如果适用)。

  • language (可选[str]) – 请求应处理的语言。

  • prompt (可选[str]) – 为Whisper模型提供的自定义指令或提示。

  • response_format (Union[str, None]) – 所需的输出格式。选项:“json”,“text”,“srt”,“verbose_json”,“vtt”。

  • temperature (可选[float]) – 控制模型输出的随机性。

  • deployment_name (str) – Whisper 模型的部署名称。

  • max_retries (int) – 失败API请求的最大重试次数。

Raises:

ImportError – 如果所需的包 openai 未安装。

lazy_parse(blob: Blob) Iterator[Document][source]#

懒散地解析提供的音频blob以进行转录。

Parameters:

blob (Blob) – 要转录的Blob格式的音频文件。

Yields:

文档 – 从音频文件中解析出的转录内容。

Raises:

异常 – 如果在转录过程中发生错误。

Return type:

迭代器[文档]

parse(blob: Blob) list[Document]#

急切地将blob解析为一个或多个文档。

这是一个用于交互式开发环境的便捷方法。

生产应用程序应优先使用lazy_parse方法。

子类通常不应重写此解析方法。

Parameters:

blob (Blob) – Blob 实例

Returns:

文档列表

Return type:

列表[Document]