Appearance
使用 Azure AI Content Understanding 提取多模态内容
解决非结构化数据处理难题:通过 Azure AI Content Understanding SDK,开发者可以快速将文档、图片、音视频等多种模态的内容转换为结构化数据或 Markdown 文本,直接支撑 RAG(检索增强生成)应用。
为什么需要这个技能
在构建现代化 AI 应用时,数据往往分散在 PDF、扫描件、会议录音或演示视频中。传统的 OCR 或简单的语音转文字工具难以捕捉深层的语义关联,且缺乏统一的接口来处理不同类型的媒体文件。
Azure AI Content Understanding 提供了一套统一的 Python SDK,能够一次性处理多种媒体格式,并将结果标准化为 Markdown 或定义的字段。这使得开发者无需为每种媒体类型编写不同的解析逻辑,极大降低了多模态数据预处理的复杂度。
适用场景
- RAG 知识库构建:将复杂的 PDF 文档、图表、视频教程转化为高质量的 Markdown 文本,提升检索精度。
- 自动化单据处理:使用预置的
prebuilt-invoice分析器或自定义分析器,自动提取发票金额、供应商等关键字段。 - 音视频内容索引:提取视频的关键帧描述和带时间戳的转录文本,实现视频内容的快速检索。
- 多模态数据分析:从图像中提取语义内容,将其转化为可搜索的文本格式。
核心工作流
- 环境准备:安装 SDK 并配置
CONTENTUNDERSTANDING_ENDPOINT环境变量。 - 初始化客户端:使用
DefaultAzureCredential进行身份验证并实例化ContentUnderstandingClient。 - 发起异步分析:由于媒体处理耗时较长,调用
begin_analyze()启动分析任务,该方法会返回一个轮询器(Poller)。 - 结果获取与处理:通过
.result()等待任务完成,从AnalyzeResult.contents列表中提取结构化内容。 - 解析特定模态:
- 文档/图像:直接访问
.markdown属性获取文本。 - 音视频:遍历
transcript_phrases获取带时间戳的文本,或遍历key_frames获取画面描述。
- 文档/图像:直接访问
核心代码示例
python
import os
from azure.ai.contentunderstanding import ContentUnderstandingClient
from azure.ai.contentunderstanding.models import AnalyzeInput
from azure.identity import DefaultAzureCredential
# 初始化客户端
endpoint = os.environ["CONTENTUNDERSTANDING_ENDPOINT"]
client = ContentUnderstandingClient(
endpoint=endpoint,
credential=DefaultAzureCredential()
)
# 分析文档并提取 Markdown
poller = client.begin_analyze(
analyzer_id="prebuilt-documentSearch",
inputs=[AnalyzeInput(url="https://example.com/document.pdf")]
)
result = poller.result()
content = result.contents[0]
print(content.markdown)下载和安装
下载 azure-ai-contentunderstanding-py 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐