尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
使用 LlamaIndex 的 AssemblyAI 音频转录 Reader:将语音文件一键转为可检索文档
使用 LlamaIndex 的 AssemblyAI 音频转录 Reader将语音文件一键转为可检索文档【免费下载链接】llama_indexLlamaIndex is the leading document agent and OCR platform项目地址: https://gitcode.com/GitHub_Trending/ll/llama_index本指南围绕 LlamaIndex 仓库中llama-index-readers-assemblyai集成的核心组件AssemblyAIAudioTranscriptReader展开。该 Reader 借助 AssemblyAI 云端语音识别 API 将音频文件转录为文本并以 LlamaIndexDocument的形式交付给下游的索引、检索与问答流程。阅读本文后你将掌握该 Reader 的安装方式、五种输出格式TEXT / SENTENCES / PARAGRAPHS / SRT / VTT、转录配置如说话人分离、自动章节、实体识别以及 API Key 的两种传入方式并能直接用于构建音频 RAG的实战管线。一、组件定位音频文件如何进入 LlamaIndex 的文档生态AssemblyAIAudioTranscriptReader继承自 LlamaIndex Core 的BaseReader见 base.py其职责是转录音频 → 产出 Document。它并不在本地做语音识别而是调用 AssemblyAI 的云端 API构造assemblyai.Transcriber后调用transcribe()完成转录再依据用户指定的格式把结果包装成一个或多个llama_index.core.schema.Document。这意味着输入侧可以是任意可被 AssemblyAI 访问的音频资源包括公开 URL 或本地文件路径输出侧则是标准化的 LlamaIndex 文档对象可直接喂给VectorStoreIndex等索引结构。该集成还公开了TranscriptFormat枚举见 base.py用于控制转录结果的拆分粒度是本文后续所有用法的基础。二、安装与前置条件从 README.md 可知安装只需一条命令pip install llama-index-readers-assemblyai该包声明了两个关键依赖见 pyproject.tomlassemblyai0.18.0官方 Python SDK负责底层 API 通信llama-index-core0.13.0,0.15提供BaseReader与Document等核心抽象。使用前必须具备两个条件AssemblyAI API Key通过环境变量ASSEMBLYAI_API_KEY设置或在实例化时用api_key参数直接传入可访问的音频文件一个 URL 或本地文件路径。需要特别说明的是__init__中会实例化assemblyai.Transcriber而 SDK 在未检测到 API Key 时会抛出ValueError见 base.py因此 Key 缺失的报错会在构造 Reader 时立即暴露而不是等到调用load_data()时才发生。三、快速上手从音频到 Document这是 README 中的最小可用示例见 README.mdfrom llama_index.readers.assemblyai import AssemblyAIAudioTranscriptReader audio_file https://storage.googleapis.com/aai-docs-samples/nbc.mp3 # 或本地文件路径audio_file ./nbc.mp3 reader AssemblyAIAudioTranscriptReader(file_pathaudio_file) docs reader.load_data()AssemblyAIAudioTranscriptReader的构造函数签名如下见 base.pydef __init__( self, file_path: str, *, transcript_format: TranscriptFormat TranscriptFormat.TEXT, config: Optional[assemblyai.TranscriptionConfig] None, api_key: Optional[str] None, ):file_path必填音频的 URL 或本地路径transcript_format输出格式默认TEXTconfig转录选项默认使用 SDK 的默认配置api_key可选优先于环境变量生效源码中会写入assemblyai.settings.api_key。load_data()返回List[Document]其内部流程为调用transcriber.transcribe(file_path)并阻塞直至转录完成若转录出错transcript.error非空则抛出ValueError见 base.py。转录文本与元数据分别存放在Document的两个字段中docs[0].text # Load time, a new president and new congressional makeup. Same old ... docs[0].metadata # {language_code: LanguageCode.en_us: en_us, # audio_url: https://storage.googleapis.com/aai-docs-samples/nbc.mp3, # punctuate: True, # format_text: True, # ... # }其中metadata承载的是 AssemblyAI 返回的完整 JSON 响应transcript.json_response除上述字段外还包含置信度、时长、词级时间戳等丰富信息可用于后续的时序分析或检索过滤。四、五种转录格式TranscriptFormat详解TranscriptFormat枚举见 base.py决定了返回文档的数量与内容形态枚举值返回文档数说明TEXT1 个整段转录文本元数据为完整 JSON 响应SENTENCES多个按句子切分每个句子一个 DocumentPARAGRAPHS多个按段落切分每个段落一个 DocumentSUBTITLES_SRT1 个以 SRT 字幕格式导出的转录文本SUBTITLES_VTT1 个以 VTT 字幕格式导出的转录文本SENTENCES与PARAGRAPHS两种切分模式的实现细节值得注意见 base.py它们分别调用transcript.get_sentences()与transcript.get_paragraphs()并为每个片段生成独立 Document文本放入text其余字段如起止时间戳、说话人标签经s.dict(exclude{text})写入metadata。这种逐句/逐段拆分 时间戳入元数据的设计非常适合对长音频做细粒度检索或配合说话人分离实现按发言人定位内容。使用非默认格式的示例from llama_index.readers.assemblyai import TranscriptFormat reader AssemblyAIAudioTranscriptReader( file_path./your_file.mp3, transcript_formatTranscriptFormat.SENTENCES, ) docs reader.load_data()SRT / VTT 模式则直接复用 SDK 的字幕导出能力export_subtitles_srt()/export_subtitles_vtt()适合生成带时间轴的字幕文本见 base.py。五、用 TranscriptionConfig 开启高级音频智能能力除基础转录外config参数可传入assemblyai.TranscriptionConfig以启用 AssemblyAI 的音频智能模型例如说话人分离、自动章节、实体识别见 README.mdimport assemblyai as aai config aai.TranscriptionConfig( speaker_labelsTrue, auto_chaptersTrue, entity_detectionTrue ) reader AssemblyAIAudioTranscriptReader( file_path./your_file.mp3, configconfig )config为None时Reader 会使用Transcriber的默认配置。借助这些选项转录结果中会附带说话人标签、章节摘要与命名实体等信息它们会随 JSON 响应进入 Document 的metadata使下游检索具备更强的语义过滤与结构化能力。六、API Key 的两种传入方式API Key 可通过以下两种方式提供见 README.md 与 base.py方式一环境变量推荐export ASSEMBLYAI_API_KEYYOUR_KEYreader AssemblyAIAudioTranscriptReader(file_path./your_file.mp3)方式二构造参数reader AssemblyAIAudioTranscriptReader( file_path./your_file.mp3, api_keyYOUR_KEY )从源码看api_key参数会被写入assemblyai.settings.api_key即显式传入的 Key 会覆盖环境变量配置。若两者都未提供assemblyai.Transcriber的实例化将抛出ValueError见 base.py。环境变量方式更适合部署场景避免 Key 硬编码进代码参数方式更适合交互式脚本或测试。七、集成到 RAG 管线一个完整思路结合 LlamaIndex 生态典型的音频 RAG管线可以这样组织from llama_index.core import VectorStoreIndex from llama_index.readers.assemblyai import AssemblyAIAudioTranscriptReader reader AssemblyAIAudioTranscriptReader( file_path./meeting_recording.mp3, transcript_formatTranscriptFormat.PARAGRAPHS, ) docs reader.load_data() index VectorStoreIndex.from_documents(docs) query_engine index.as_query_engine() response query_engine.query(这次会议确定了哪些行动项)选择PARAGRAPHS或SENTENCES格式可以在转录阶段就完成文档切分配合段落级时间戳元数据既提升了检索精度也为引用定位到具体时间点保留了依据。需要注意的是load_data()是同步阻塞调用转录耗时取决于音频时长与所选功能长音频场景下应考虑放入后台任务或异步流程。八、小结AssemblyAIAudioTranscriptReader以约百行源码base.py封装了音频转录 → 文档化的完整链路五种TranscriptFormat控制输出粒度TranscriptionConfig打通高级音频智能模型api_key与环境变量双通道解决凭证管理错误处理则在转录失败时直接以ValueError暴露。整个包已通过llama-index-readers-assemblyai发布并接入 LlamaIndex 的 Reader 生态公开导出见init.py。对于任何需要让 LLM 理解音视频内容的场景这都是一个开箱即用的接入点。【免费下载链接】llama_indexLlamaIndex is the leading document agent and OCR platform项目地址: https://gitcode.com/GitHub_Trending/ll/llama_index创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

STM32F407步进电机梯形加减速控制与HAL库实现

STM32F407步进电机梯形加减速控制与HAL库实现

简介:面向STM32F4系列单片机开发者的步进电机驱动工程包,特别适用于实现步进电机的梯形加减速运动与精确定位控制。包内基于STM32F407,集成四相八拍驱动、定时器PWM脉冲序列生成、加减速算法及PID速度优化思路,可在Keil或STM32Cub…

📅 2026/9/11 9:33:27
火电-储能联合调频系统建模与优化控制策略

火电-储能联合调频系统建模与优化控制策略

1. 项目背景与核心价值火电机组二次调频是电力系统频率稳定的关键环节。随着新能源大规模并网,电网频率波动加剧,传统火电机组调频面临响应速度慢、调节精度低等问题。储能系统凭借毫秒级响应特性,成为提升火电调频性能的理想选择。本项目通过…

📅 2026/9/11 9:33:27
在 Sentry 中开发 Seer Embed 组件:从 Zod Schema 到后端代码生成的完整实践指南

在 Sentry 中开发 Seer Embed 组件:从 Zod Schema 到后端代码生成的完整实践指南

在 Sentry 中开发 Seer Embed 组件:从 Zod Schema 到后端代码生成的完整实践指南 【免费下载链接】sentry Developer-first error tracking and performance monitoring 项目地址: https://gitcode.com/GitHub_Trending/sen/sentry Seer 是 Sentry 中由大模型…

📅 2026/9/11 9:33:27
MORE NEWS

更多资讯

📰

零门槛上手Maestro录制:4步生成第一个完整的测试视频

零门槛上手Maestro录制:4步生成第一个完整的测试视频 【免费下载链接】Maestro Painless E2E Automation for Mobile and Web 项目地址: https://gitcode.com/GitHub_Trending/ma/Maestro 你给同事演示功能、给开发提交bug,大概率都需要一段"操作过程"的视频。…

📰

免费管好全部 IT 资产:开源资产管理系统 Snipe-IT 落地实操

免费管好全部 IT 资产:开源资产管理系统 Snipe-IT 落地实操 【免费下载链接】snipe-it A free open source IT asset/license management system 项目地址: https://gitcode.com/GitHub_Trending/sn/snipe-it 审计前一周,你还没查清 50 台笔记本分…

📰

GHelper 免费开源:5 分钟配好华硕笔记本的性能控制与风扇曲线

GHelper 免费开源:5 分钟配好华硕笔记本的性能控制与风扇曲线 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenb…

📰

基于STM32F4的机房巡检机器人环境监测系统设计与实现

简介:这套基于STM32F4微控制器的机房巡检机器人环境监测系统源码包,面向嵌入式开发者和物联网项目学习者,适用于机房环境数据采集与报警场景。系统通过RS485协议连接WT2000TUG温湿度大气压一体传感器与毕达斯火灾烟雾传感器,可实时…

📰

如何 30 分钟本地部署 Duix-Avatar:离线 AI 数字人完整教程

如何 30 分钟本地部署 Duix-Avatar:离线 AI 数字人完整教程 【免费下载链接】Duix-Avatar 🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning. 项目地址: https://gitcode.com/GitHub_T…

📰

Golang-Gin 框架写的免杀平台,内置分离、捆绑等多种BypassAV方式

Golang-Gin 框架写的免杀平台,内置分离、捆绑等多种BypassAV方式 Golang-Gin 框架写的免杀平台,内置分离、捆绑等多种BypassAV方式。 cool 时间线: Golang Gin 框架写的免杀平台- (2021.11.12)Golang Gin 框架写的免杀平台,更…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬