从 TXT 到 CSV 再到 Flask 部署:语音转写 AI 总结全流程实战

目录

[1、基础实现:纯 TXT 文本内容总结](#1、基础实现:纯 TXT 文本内容总结)

[2、优化升级:CSV 格式语音转写数据总结](#2、优化升级:CSV 格式语音转写数据总结)

[3、Flask 框架简介](#3、Flask 框架简介)

[4、Flask 部署 CSV 总结代码,实现本地上传调用](#4、Flask 部署 CSV 总结代码,实现本地上传调用)

[4.1 项目结构](#4.1 项目结构)

[4.2 Flask 核心部署代码](#4.2 Flask 核心部署代码)

[4.3 本地调用实现 CSV 总结](#4.3 本地调用实现 CSV 总结)

[4.4 实现效果](#4.4 实现效果)

整体总结


1、基础实现:纯 TXT 文本内容总结

最开始的核心需求是对语音转写的文本做 AI 总结,先从最简单的TXT 文本读取 + AI 总结入手,实现基础逻辑:

  • 直接读取本地 TXT 格式的语音转写文本,加载全部文本内容
  • 调用通义千问 AI 接口,传入 prompt 要求提炼核心知识点、去除口语化内容
  • 控制台直接输出总结结果,完成最基础的文本总结功能

核心逻辑代码(极简版):

复制代码
import openai

# AI配置
client = openai.OpenAI(api_key="你的密钥", base_url="https://dashscope.aliyuncs.com/compatible-mode/v1")

# 读取TXT文本
with open("transcript.txt", "r", encoding="utf-8") as f:
    content = f.read()

# AI总结
prompt = f"总结以下语音转写内容,分点提炼核心:\n{content}"
res = client.chat.completions.create(model="deepseek-v3", messages=[{"role":"user","content":prompt}])
print(res.choices[0].message.content)

这一步完成了文本总结的核心功能验证,但 TXT 格式无法存储语音转写的时间、角色等附加信息,实用性有限。

2、优化升级:CSV 格式语音转写数据总结

实际语音转写导出的文件为CSV 格式 ,包含时间、角色、内容三列,TXT 方案无法适配,因此优化为 CSV 专属总结方案:

  • 使用pandas读取 CSV 文件,适配中文列名内容,精准提取语音转写文本
  • 过滤空值、拼接有效文本,避免无效内容干扰 AI 总结
  • 保留原有的 AI 总结逻辑,仅替换文本读取方式,适配结构化数据

核心优化点:

  1. 兼容语音转写 CSV 的列名(新增内容列匹配)
  2. 批量处理多行转写文本,自动拼接成完整内容
  3. 数据更规范,可拓展性更强(后续可筛选角色、时间段)

优化后 CSV 读取核心代码:

复制代码
import pandas as pd

# 读取CSV,提取内容列
df = pd.read_csv("test_processed_sentences.csv", encoding="utf-8")
# 匹配语音转写的文本列
text_col = "内容"
transcript = "\n".join(df[text_col].dropna().astype(str))

这一步解决了真实场景下语音转写文件的读取问题,从纯文本升级为结构化数据处理。

3、Flask 框架简介

Flask 是轻量级 Python Web 开发框架,无繁重依赖、上手简单,非常适合快速搭建本地 API 接口:

  • 轻量化:无需复杂配置,几行代码即可启动 Web 服务
  • 支持文件上传:完美适配 CSV 文件本地上传需求
  • 纯 API 接口开发:无需编写前端页面,可通过脚本 / 终端直接调用
  • 本地部署便捷:启动后局域网 / 本机均可访问,适合个人开发、本地调试

本次使用 Flask 的核心目的:将 CSV+AI 总结的功能封装为接口,实现本地上传文件→调用接口→获取总结的标准化流程。

4、Flask 部署 CSV 总结代码,实现本地上传调用

将优化后的 CSV 总结逻辑,通过 Flask 封装为文件上传 API 接口,实现本地无前端调用,完成完整的语音转写总结流程。

4.1 项目结构

复制代码
智慧课堂/
├── result/                # 存放待上传的CSV文件
│   └── test_processed_sentences.csv
├── uploads/               # 临时存储上传文件(自动创建)
├── app_api.py             # Flask接口主程序
└── get_summary.py         # 本地调用脚本

4.2 Flask 核心部署代码

整合 CSV 读取、AI 总结、文件上传功能,封装为/api/upload-csv接口:

复制代码
import os
import openai
import pandas as pd
from flask import Flask, request, jsonify
from werkzeug.utils import secure_filename

app = Flask(__name__)
UPLOAD_FOLDER = 'uploads'
os.makedirs(UPLOAD_FOLDER, exist_ok=True)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
API_KEY = "你的通义千问密钥"

# AI总结类
class Summary:
    def __init__(self, key):
        self.client = openai.OpenAI(api_key=key, base_url="https://dashscope.aliyuncs.com/compatible-mode/v1")
    def read_csv(self, path):
        df = pd.read_csv(path, encoding="utf-8")
        return "\n".join(df["内容"].dropna().astype(str))
    def get_summary(self, text):
        prompt = f"总结以下课堂语音转写,分点提炼核心:\n{text}"
        res = self.client.chat.completions.create(model="deepseek-v3", messages=[{"role":"user","content":prompt}])
        return res.choices[0].message.content

# 上传接口
@app.route("/api/upload-csv", methods=["POST"])
def upload():
    file = request.files.get("file")
    path = os.path.join(app.config["UPLOAD_FOLDER"], secure_filename(file.filename))
    file.save(path)
    s = Summary(API_KEY)
    text = s.read_csv(path)
    summary = s.get_summary(text)
    os.remove(path)
    return jsonify({"status":"success","data":{"summary":summary}})

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000, debug=True)

4.3 本地调用实现 CSV 总结

启动 Flask 服务后,通过两种方式本地调用接口:

  1. Python 脚本调用(推荐,无编码 / 终端坑)

    import requests
    files = {"file": open("result/test_processed_sentences.csv", "rb")}
    res = requests.post("http://localhost:5000/api/upload-csv", files=files)
    print(res.json()["data"]["summary"])

  2. 终端 curl.exe 调用

    curl.exe -X POST "http://localhost:5000/api/upload-csv" -F "file=@result/test_processed_sentences.csv" | jq -r ".data.summary"

4.4 实现效果

本地上传 CSV 语音转写文件→Flask 接口解析文本→AI 生成总结→返回中文结果,完整实现了结构化数据的 AI 总结接口化部署,可重复调用、无需手动修改代码。


整体总结

  1. 先通过 TXT 实现基础 AI 总结,验证核心逻辑;
  2. 优化为 CSV 格式,适配真实语音转写文件的结构化数据;
  3. 利用 Flask 轻量特性,将功能封装为本地 API 接口;
  4. 实现本地上传调用,完成可复用、标准化的 CSV 语音转写 AI 总结流程。
相关推荐
数字供应链安全产品选型2 小时前
#AI原生安全,Gartner 点名之后:AIST 技术正在进入深水区
大数据·人工智能
liukuang1102 小时前
阿里Q3财报:全栈AI驱动下的价值重构
人工智能·重构
landuochong2002 小时前
claude增加自动化日历提醒功能,并同步到iphone日历
人工智能·iphone·claudecode
lcj09246662 小时前
机房U位资产智能化管理解决方案:破解传统运维痛点
人工智能
正宗咸豆花2 小时前
端到端AI决策架构如何重塑实时协作体验?
人工智能·架构
lally.2 小时前
Claude code agent由哪些东西组成
人工智能
NOCSAH2 小时前
统好AI数智平台SRM:重塑采购管理新范式
大数据·人工智能·数智化一体平台·统好ai
superior tigre2 小时前
LLM/HPC常见术语汇总
人工智能·llm·hpc
乱世刀疤2 小时前
openclaw更换模型操作步骤
人工智能