从 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 总结流程。
相关推荐
秦先生在广东3 分钟前
去中心化与全能化:深入剖析 Open WebUI 的自托管架构与工程实践
人工智能
IvorySQL3 分钟前
PostgreSQL 日报|堆表选择性索引更新(10 月 13 日)
数据库·人工智能·postgresql·开源·区块链
蜗牛互联网7 分钟前
Java 17 调用视觉 Responses API:JSON 约束与人工复核路由
java·人工智能·后端
秦先生在广东7 分钟前
Agent 驱动的逆向工程工作流:REA 全栈二进制与多格式分析工具深度解析
人工智能
2603_9688173411 分钟前
AI视频怎么超清增强
人工智能
frankzch16 分钟前
微软 137B 编码模型搬到 PC:端侧推理与 Agent 权限防线
人工智能·深度学习·microsoft·机器学习·语言模型
TomEval25 分钟前
【测AI】第11篇:深度学习基础 —— 神经网络是怎么工作的
人工智能·python·深度学习·神经网络·机器学习·aigc
老金带你玩AI32 分钟前
Gemini 4上线!又回到御三家了?
人工智能
独立开发者阿乐33 分钟前
问答聚合页设计:让 AI 直接引用你的答案
人工智能·结构化数据·geo优化·ai收录·悬赏问答·问答聚合页
深圳市益普科技有限公司36 分钟前
半导体封测的 “大脑“ 保卫战:国产 MES 是怎么一步步啃下来的?
人工智能