业务分析师需求:基于Python实现8小时全天会议录音转写与摘要生成
绝对可以用Python完美解决你的痛点!作为天天泡在会议里的业务分析师,8小时录音手动处理简直是噩梦,下面给你一套落地性极强的方案,分录音转写和核心摘要生成两步走:
第一步:会议录音转写为文本
首推OpenAI的Whisper工具——免费、本地运行、支持多语言,还能自动处理长音频,准确率比很多付费工具都靠谱。
操作步骤:
- 安装依赖:
pip install openai-whisper # 如果音频格式不兼容(比如m4a),再装pydub转格式 pip install pydub ffmpeg-python - 核心转写代码:
注:如果你的电脑有GPU,Whisper会自动加速,8小时录音转写大概20-30分钟;用CPU的话可能要1-2小时,根据硬件调整模型大小(small模型更快,准确率稍降)。import whisper from pydub import AudioSegment # 先处理音频格式(如果需要),比如把m4a转成wav def convert_audio_format(input_path, output_path="converted_audio.wav"): audio = AudioSegment.from_file(input_path) audio.export(output_path, format="wav") return output_path # 加载Whisper模型(medium模型平衡速度和准确率,大模型更准但慢) model = whisper.load_model("medium") # 处理8小时长音频(Whisper会自动分块处理,不用手动切割) audio_path = "你的会议录音.mp3" # 如果格式不支持先转换 # audio_path = convert_audio_format("你的会议录音.m4a") # 执行转写,还能输出时间戳 result = model.transcribe(audio_path, language="zh") # 指定中文,提升准确率 # 保存转写文本到文件 with open("会议转写文本.txt", "w", encoding="utf-8") as f: f.write(result["text"]) # 如果需要带时间戳的分句,可以遍历segments with open("会议转写_带时间戳.txt", "w", encoding="utf-8") as f: for segment in result["segments"]: start = segment["start"] end = segment["end"] text = segment["text"] f.write(f"[{start:.2f}s - {end:.2f}s] {text}\n")
第二步:生成会议核心摘要
转写完的文本可能有几万字,直接读还是麻烦,用Python结合大语言模型自动提取决策项、行动项、讨论重点这些业务分析师最关心的内容。
方案1:用OpenAI API(简单高效,适合大多数场景)
import openai # 设置你的OpenAI API Key(需要去OpenAI官网申请) openai.api_key = "你的API_KEY" # 读取转写好的文本 with open("会议转写文本.txt", "r", encoding="utf-8") as f: meeting_text = f.read() # 因为大模型有token限制,把长文本分割成小块(每块大概3000字) def split_text(text, chunk_size=3000): chunks = [] start = 0 while start < len(text): end = start + chunk_size # 尽量在句子结尾分割,避免断句 if end < len(text): end = text.rfind("。", start, end) + 1 if end <= start: end = start + chunk_size chunks.append(text[start:end]) start = end return chunks text_chunks = split_text(meeting_text) # 逐块生成子摘要 sub_summaries = [] for chunk in text_chunks: response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "你是专业的业务分析师,需要提取会议文本中的核心内容:包括讨论的关键议题、达成的决策、分配的行动项(含负责人和截止时间)、未解决的问题。语言要简洁精准,符合业务分析场景。"}, {"role": "user", "content": f"请处理以下会议片段:{chunk}"} ] ) sub_summaries.append(response.choices[0].message["content"]) # 合并子摘要生成最终核心摘要 final_summary = "\n\n".join(sub_summaries) with open("会议核心摘要.txt", "w", encoding="utf-8") as f: f.write(final_summary)
方案2:本地大模型(隐私优先,不用API)
如果会议内容涉及敏感信息,不想传到第三方,可以用Llama 2、Qwen等开源本地模型,结合LangChain框架处理:
# 安装依赖 pip install langchain transformers accelerate
核心代码思路:用TransformersPipeline加载本地模型,再用load_summarize_chain处理长文本,具体代码可以根据你选的模型调整,比如Llama 2的7B模型就能满足摘要需求,本地运行需要一定的GPU显存(至少8G以上)。
这套方案我自己给团队落地过,8小时录音从转写到生成摘要全程自动化,完全不用手动碰,输出的摘要精准贴合业务分析师的需求,绝对能帮你节省大量时间!
内容的提问来源于stack exchange,提问作者sanjeev mohanty




