构建本地化音视频转录分析平台:Whisper+Ollama+Meilisearch实战
1. 项目概述:一个全能的本地化音视频转录与智能分析平台
如果你经常需要处理会议录音、访谈、播客或者视频内容,并且厌倦了手动整理、标记说话人和提炼重点的繁琐工作,那么今天聊的这个项目,绝对能让你眼前一亮。Transcription Stream Community Edition(我们姑且叫它“转录流”社区版)是一个开箱即用的、完全自托管的音视频转录与说话人分离服务。它的核心魅力在于“一体化”和“离线化”:从你扔给它一个音频/视频文件开始,到最终拿到一份带时间戳、区分了不同说话人、甚至附带了AI智能摘要和全文检索的转录稿,整个过程都在你自己的服务器上完成,数据不出本地,隐私和安全完全可控。
这个项目巧妙地将几个顶尖的开源工具焊接在了一起:用 OpenAI 的 Whisper(及其增强版 WhisperX)负责高精度语音转文字,用 whisper-diarization 项目实现说话人分离(即判断“谁在什么时候说了话”),用轻量级大模型框架 Ollama 搭载 Mistral-7B 模型来生成内容摘要,再用 Meilisearch 这个闪电般快速的搜索引擎为所有转录稿建立索引。最后,它用一个简洁的 Web 界面和一个支持拖放的 SSH 文件夹,把所有这些复杂的技术包装成了像使用网盘一样简单的操作体验。无论是技术极客想搭建自己的媒体处理流水线,还是内容团队需要一个内部的高效转录工具,这个项目都提供了一个近乎完美的起点。
2. 核心架构与组件选型解析
2.1 为什么选择这套技术栈?
当你决定自己搭建一个转录服务时,会面临一堆选择。Transcription Stream 的选型背后,是一套非常务实的工程思维,核心目标是:在保证最佳效果的前提下,最大化利用现有成熟组件,并确保整个流程能无缝衔接。
2.1.1 语音转文字引擎:Whisper 与 WhisperX 的黄金组合
项目没有使用商业 API,而是选择了 OpenAI 开源的 Whisper 模型。原因很简单:第一,免费且效果顶尖,尤其在多语言和带口音的语音识别上表现惊人;第二,完全离线,彻底杜绝了数据泄露风险。但原生 Whisper 有个问题:它不区分说话人,一段对话会变成一整块文本。
所以项目引入了whisper-diarization。这并非一个单独的模型,而是一个处理流水线。它先用 Whisper 进行转录,然后使用一个专门的声学模型(如 PyAnnote 的模型)来分析音频,识别出不同的语音片段并聚类,判断这些片段属于几个不同的说话人,最后将说话人标签与 Whisper 生成的字幕时间戳进行对齐。这个过程就是“说话人分离”(Diarization)。
而WhisperX的加入则是为了进一步提升效率和精度。WhisperX 优化了 Whisper 的推理过程,并引入了更精准的强制对齐(Forced Alignment)技术,能将转录文本中的每个词与音频时间戳更精确地对应起来。在这个项目中,它被用来做后处理,确保最终输出中每个词的时间戳和对应的说话人都准确无误。
注意:这套组合拳对 GPU 内存有一定要求。虽然项目通过调整批次大小(batch size)进行了优化,但如果你同时运行转录和后面的 LLM 摘要,12GB 显存可能依然捉襟见肘。原作者就因此将 Ollama 服务分到了另一台机器上。这是部署时需要重点考量的点。
2.1.2 智能摘要引擎:Ollama + Mistral-7B
转录出文字只是第一步,从长篇文字中快速抓取重点才是提升效率的关键。项目选择了 Ollama 来本地运行大语言模型。Ollama 的优势极其明显:它把 LLM 的部署和运行简化到了极致,一条命令就能拉取并启动一个模型,并且提供了统一的 API 接口。
模型方面,选择了 Mistral-7B。这是一个 70 亿参数的模型,在开源模型中以其出色的性能和高效率平衡而闻名。7B 的规模意味着它对硬件的要求相对友好(可以在消费级 GPU 甚至足够内存的 CPU 上运行),同时又在理解、总结和遵循指令方面有足够的能力。用它来总结会议纪要、提取行动项、归纳话题,完全够用,且响应速度很快。
2.1.3 全文检索引擎:Meilisearch
当你的转录稿积累到成百上千份时,如何快速找到某次会议上提到的某个关键词或话题?逐份打开查找是噩梦。项目集成了 Meilisearch,一个用 Rust 写的、速度极快的搜索引擎。它能为所有转录稿建立实时索引,支持复杂的搜索查询、过滤和高亮显示。这意味着你可以在几毫秒内,从海量录音资料中定位到需要的信息,这对于知识管理和内容回溯来说价值巨大。
2.1.4 交互层:SSH 与 Web 的双重接口
这是项目在易用性上的点睛之笔。它提供了两种极其符合工程师习惯的文件提交方式:
- SSH 文件夹投递:在服务器上通过 SSH 挂载两个特殊文件夹
transcribe(仅转录)和diarize(转录+说话人分离)。你只需要用任何 SFTP 工具(如scp,rsync或图形化的 FileZilla)把文件拖进去,后台服务就会自动处理,结果输出到transcribed文件夹。这完美融入了自动化脚本和流水线。 - Web 图形界面:对于临时、单次的操作,或者需要预览、审阅的场景,一个直观的 Web 界面(ts-web)提供了上传、播放、实时高亮字幕、下载等全套功能。它还会在处理完成后发送浏览器通知。
这种设计覆盖了从全自动后台处理到人工交互审查的所有场景。
2.2 服务架构与数据流
整个系统由多个 Docker 容器组成,通过 Docker Compose 编排:
- ts-gpu:核心工作容器。包含 Whisper, WhisperX, whisper-diarization 等所有音频处理流水线。它监听
transcribe和diarize目录的文件变动,执行繁重的 GPU 计算任务。 - ts-web:前端 Web 应用容器。提供用户界面,与 ts-gpu 和 Ollama 通信,管理任务状态和文件展示。
- ollama:运行 Mistral-7B 模型的容器。接收 ts-web 传来的转录文本,执行摘要生成任务。
- meilisearch:搜索引擎容器。接收并索引每一份完成的转录稿。
- 一个 SSH 服务器:通常集成在 ts-gpu 或单独容器中,提供 SFTP 服务,用于文件投递。
数据流大致如下:
- 用户通过 Web 上传或 SSH 放入音频文件。
- ts-gpu 监听到新文件,根据目标文件夹决定调用
whisper(仅转录)或whisper-diarization(转录+说话人分离)管道。 - 处理完成后,生成
.srt(字幕)、.txt(纯文本)、.json(结构化数据) 等文件,存入带日期时间戳的专属文件夹。 - ts-web 更新任务状态,并可选地将纯文本发送给 ollama 容器进行摘要。
- 摘要生成后,保存为
summary.txt。 - 同时,转录文本被发送到 meilisearch 建立索引。
- 用户可以在 ts-web 上播放音频、查看同步高亮的字幕、下载所有文件,或者通过未来集成的界面搜索所有历史转录稿。
3. 从零开始的部署与配置实战
3.1 硬件与基础环境准备
在动手之前,请确保你的环境符合要求,这能避免后续绝大部分问题。
3.1.1 硬件要求
- GPU(强烈推荐):这是最大的性能瓶颈。你需要一块 NVIDIA GPU(因为依赖 CUDA)。显存至少 8GB,如果要同时流畅运行转录和 Ollama 摘要,建议 16GB 或以上。项目作者提到 12GB 都可能不够,所以做好规划。可以使用
nvidia-smi命令检查显卡信息。 - CPU 与内存:现代的多核 CPU(如 Intel i5/R5 及以上)和至少 16GB 的系统内存是基础保障。处理长音频文件时,内存消耗较大。
- 存储:Docker 镜像本身巨大(ts-gpu 约 26GB),加上模型文件和生成的转录稿,建议预留 50GB 以上的 SSD 空间以获得最佳体验。
3.1.2 软件基础
- 操作系统:Ubuntu 22.04 LTS 或 20.04 LTS 是最稳定、社区支持最好的选择。其他 Linux 发行版也可行,但可能需要调整部分依赖安装命令。
- NVIDIA 驱动:确保已安装最新版的、与你的 CUDA 版本匹配的官方驱动。可以去 NVIDIA 官网根据显卡型号下载。
- Docker 与 Docker Compose:这是项目的运行基石。
# 安装 Docker sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # 将当前用户加入 docker 组,避免每次用 sudo sudo usermod -aG docker $USER # 退出终端重新登录生效 # 验证安装 docker --version docker compose version - NVIDIA Container Toolkit:让 Docker 容器能使用宿主机的 GPU。
如果最后一条命令能成功输出显卡信息,说明环境配置正确。distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo apt-get update sudo apt-get install -y nvidia-container-toolkit sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker # 验证 GPU 在 Docker 中可用 docker run --rm --runtime=nvidia --gpus all nvidia/cuda:12.1.0-base-ubuntu22.04 nvidia-smi
3.2 项目获取与快速启动
最省心的方式是使用项目提供的“免构建”脚本,它会直接从 Docker Hub 拉取预构建好的镜像。
# 1. 克隆项目代码仓库 git clone https://github.com/transcriptionstream/transcriptionstream.git cd transcriptionstream # 2. 直接运行快速启动脚本(这会拉取镜像并启动所有服务) chmod +x start-nobuild.sh ./start-nobuild.sh这个脚本背后其实就是调用了docker compose up -d。首次运行需要下载总计约 30GB 的多个镜像,请保持网络通畅并耐心等待。完成后,你可以用docker ps查看运行中的容器。
3.3 自定义构建与深度配置
如果你想修改代码、使用特定的模型版本,或者想了解背后的构建过程,则需要从源码构建。
3.3.1 构建前的关键配置:.env文件
项目根目录下的.env文件是全局配置的核心。在运行构建脚本前,最好先审视并修改它。
# 查看并编辑 .env 文件 cp .env.example .env # 如果不存在,先复制示例文件 nano .env你需要关注以下几个关键变量:
WHISPER_MODEL:指定使用的 Whisper 模型大小,如large-v3。模型越大精度越高,但速度越慢,显存占用越大。medium是精度和速度的一个较好平衡点。OLLAMA_HOST:如果你的 Ollama 服务运行在其他机器上,修改这里的 IP 地址。MEILI_MASTER_KEY:Meilisearch 的主密钥,用于 API 访问。务必修改为一个强密码。TS_WEB_SECRET:ts-web 应用的密钥,用于会话安全。同样务必修改。INCLUDE_MODELS:控制构建 ts-gpu 镜像时预下载哪些语音模型。如果磁盘空间紧张,可以只保留你需要的模型,如large-v3。
3.3.2 执行自动化构建与运行脚本
项目提供了两个主要的脚本:
# 1. 安装脚本:构建 Docker 镜像,这个过程非常耗时(取决于网络和机器性能) chmod +x install.sh ./install.sh # 这会构建 ts-gpu 等镜像,可能需要数小时 # 2. 运行脚本:启动所有容器服务 chmod +x run.sh ./run.sh实操心得:构建
ts-gpu镜像是最耗时的环节,因为它需要下载并编译许多深度学习依赖。建议在夜间或网络条件好时进行。如果构建失败,通常是网络超时导致,可以尝试更换 Docker 镜像源或分段执行 Dockerfile 中的命令进行排查。
3.3.3 修改默认 SSH 密码
出于安全考虑,必须修改默认的 SSH 用户密码。默认密码nomoresaastax是公开的。 找到ts-gpu目录下的Dockerfile,搜索nomoresaastax,修改RUN echo 'transcriptionstream:nomoresaastax' | chpasswd这一行,将nomoresaastax替换为你自己的强密码。然后重新构建ts-gpu镜像。
4. 核心功能使用详解与避坑指南
4.1 两种文件提交方式实战
4.1.1 SSH/SFTP 投递(适合自动化)
这是最高效的批量处理方式。服务启动后,会在 SSH 服务器上暴露两个目录:transcribe和diarize。
- 连接信息:
- 主机:你的服务器 IP
- 端口:
22222(注意不是默认的22) - 用户名:
transcriptionstream - 密码:你修改后的密码(或默认的
nomoresaastax)
- 操作方法:
- 使用任何 SFTP 客户端(如命令行
sftp、scp,或图形化工具 WinSCP、FileZilla)连接上述信息。 - 你会看到根目录下有
transcribe、diarize和transcribed文件夹。 - 将你的音频/视频文件(支持 mp3, wav, m4a, mp4, mov 等常见格式)直接拖入:
transcribe文件夹:仅进行语音转文字,不区分说话人。diarize文件夹:进行语音转文字并区分说话人。
- 文件放入后,后台服务会自动检测并开始处理。处理完成后,原始文件会被移动到
transcribed目录下的一个以时间戳和文件名命名的子文件夹中(例如transcribed/2024-05-27_14-30-22_my_meeting.mp3/)。该文件夹内包含所有输出文件。
- 使用任何 SFTP 客户端(如命令行
注意事项:通过 SSH 放入的文件,其处理状态无法在 ts-web 界面中直接看到。你需要到
transcribed目录下查看是否生成了结果文件夹来判断是否完成。对于超长文件(如超过2小时的会议),处理时间可能很长,请耐心等待。
4.1.2 Web 界面上传(适合交互式操作)
在浏览器中访问http://你的服务器IP:5006,即可打开 ts-web 界面。
- 上传:点击上传按钮,选择文件,并选择任务类型(Transcribe 或 Diarize)。
- 任务队列:上传后,文件会出现在任务列表中。你可以实时看到处理状态(等待中、处理中、完成、失败)。
- 结果查看与播放:处理完成后,任务项会变成可点击的链接。点击进入详情页,你会看到一个内嵌的 HTML5 音频播放器,以及同步滚动和高亮的转录文本区域。播放音频时,对应的文本行会高亮;点击文本,音频也会跳转到对应时间点。这非常适合校对和审阅。
- 下载:在详情页可以下载原始的音频文件、
.srt字幕文件、.txt纯文本文件、.json结构化数据文件以及生成的summary.txt摘要文件。
4.2 自定义摘要提示词(Prompt)
项目默认的摘要提示词已经很有结构,但你可以根据自己行业或场景的需求进行定制,让 AI 输出更符合你要求的摘要。
修改位置:ts-gpu/ts-summarize.py文件中的prompt_text变量。
prompt_text = f""" 请你作为专业的会议纪要助手,分析以下转录文本。 请严格按照以下格式输出摘要: 【与会人员】:列出所有发言者的标识(如 Speaker 0, Speaker 1)及其在会议中扮演的角色(如果能从上下文推断,例如:主持人、项目经理、开发代表)。 【核心议题】:归纳会议讨论的 3-5 个核心主题,按重要性降序排列。 【关键结论与决定】:逐条列出会议达成的明确结论、做出的决策以及相关责任人。 【待办事项(Action Items)】:以表格形式列出,包含“事项描述”、“负责人”、“截止日期”(如果提及)。 【后续步骤】:简述会议确定的下一步计划。 转录文本如下: {transcription_text} """修改后需要:
- 保存
ts-summarize.py文件。 - 重新构建
ts-gpuDocker 镜像(因为该文件被打包进了镜像内):cd /path/to/transcriptionstream docker compose build ts-gpu docker compose up -d --force-recreate ts-gpu - 如果你也希望 ts-web 界面上“Summary”按钮显示的文字随之改变,还需要修改
ts-web/templates/transcription.html中对应的按钮或标题文字。
实操心得:设计提示词时,指令越清晰、格式要求越严格,LLM 的输出就越规整、越有用。可以尝试让模型以 Markdown 格式输出,这样在 ts-web 中查看时会更加美观。另外,Mistral-7B 对中文提示词的理解也很好,你可以直接使用中文来要求它生成中文摘要。
4.3 利用 Meilisearch 进行全文检索
虽然 ts-web 界面尚未集成搜索功能,但你可以直接通过 Meilisearch 强大的 API 来查询你的转录库。
获取搜索密钥:Meilisearch 启动后,你需要一个具备搜索权限的 API Key。默认情况下,你可以使用
MEILI_MASTER_KEY(在.env文件中设置的那个)进行所有操作,但在生产环境,应该创建一个仅具有搜索权限的密钥。# 使用 curl 创建一个搜索密钥(假设 Meilisearch 运行在本地 7700 端口) curl \ -X POST 'http://localhost:7700/keys' \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer 你的MEILI_MASTER_KEY" \ --data-binary '{ "name": "Search Key", "description": "Used for searching transcripts", "actions": ["search"], "indexes": ["transcripts"], "expiresAt": null }'响应中会包含
key字段,这就是你的搜索密钥。执行搜索:
# 搜索所有包含“项目里程碑”和“风险”的转录稿 curl \ -X POST 'http://localhost:7700/indexes/transcripts/search' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer 你的搜索KEY' \ --data-binary '{ "q": "项目里程碑 风险", "highlightPreTag": "<em>", "highlightPostTag": "</em>", "attributesToHighlight": ["text"] }'返回的结果会包含匹配的转录文档,并且
text字段中匹配的关键词会被<em>标签包裹,便于高亮显示。你还可以添加过滤器,比如按日期、文件名或说话人进行筛选。
5. 常见问题排查与性能优化实录
5.1 部署与启动问题
问题1:运行./start-nobuild.sh或docker compose up时,提示端口冲突。
- 原因:默认端口(22222, 5006, 11434, 7700)可能已被你机器上的其他服务占用。
- 解决:修改
docker-compose.yml文件中各服务的ports映射。例如,将"5006:5006"改为"8080:5006",这样外部就通过 8080 端口访问 ts-web。记得同时更新.env文件中TS_WEB_HOST等相关的配置(如果存在),并通知所有使用者新的访问地址。
问题2:容器启动后立刻退出,查看日志docker logs <容器名>显示 CUDA 错误或显存不足(Out of Memory)。
- 原因A:NVIDIA Container Toolkit 未正确安装或配置。
- 排查:在宿主机运行
nvidia-smi正常吗?运行测试命令docker run --rm --runtime=nvidia --gpus all nvidia/cuda:12.1.0-base-ubuntu22.04 nvidia-smi能在容器内看到 GPU 吗? - 解决:重新按照前文步骤安装和配置 NVIDIA Container Toolkit,并重启 Docker 服务。
- 排查:在宿主机运行
- 原因B:GPU 显存确实不足。尤其是同时运行转录大模型和 Ollama 的 Mistral-7B。
- 解决:
- 分而治之:将负载重的服务分到不同主机。这是最彻底的方案。例如,在一台 GPU 服务器上只运行
ts-gpu和meilisearch,在另一台内存充足的机器(甚至可以是 Apple Silicon Mac)上运行ollama。然后修改.env中的OLLAMA_HOST指向另一台机器的 IP。 - 降低模型规格:在
.env中,将WHISPER_MODEL从large-v3改为medium或small,显著减少显存占用。对于 Ollama,可以考虑换用更小的模型,如llama3.2:3b,但摘要质量会下降。 - 调整批处理大小:项目作者已为了兼容性将批处理大小(batch size)从 8 调到了 16。你可以在
ts-gpu相关的代码或配置中寻找调整参数的地方,进一步调小(如调到 4 或 2)以在显存不足时也能运行,但会降低处理速度。
- 分而治之:将负载重的服务分到不同主机。这是最彻底的方案。例如,在一台 GPU 服务器上只运行
- 解决:
问题3:Web 界面可以访问,但上传文件后任务一直处于“等待中”或处理失败。
- 排查:查看相关容器的日志是第一步。
# 查看 ts-gpu 容器的日志 docker logs transcriptionstream-ts-gpu-1 --tail 100 -f # 查看 ts-web 容器的日志 docker logs transcriptionstream-ts-web-1 --tail 100 -f - 常见原因:
- 网络问题:
ts-web无法连接到ts-gpu或ollama的服务。检查docker-compose.yml中服务间的网络配置,确保它们在同一自定义网络下,并且使用服务名(如ts-gpu)而非localhost进行通信。 - 权限问题:Docker 容器内用户对挂载的卷(volume)没有写入权限。检查宿主机上
./data等目录的权限,确保 Docker 进程(通常是 root 或特定用户)有读写权。 - 依赖模型未下载:首次处理时,Whisper 需要下载对应模型。如果网络不畅,可能卡住或超时。可以进入
ts-gpu容器手动触发下载,或使用国内镜像源。
- 网络问题:
5.2 功能使用问题
问题4:处理后的转录文本中,说话人标签全是“Speaker 0”、“Speaker 1”,无法区分具体是谁。
- 原因:说话人分离(Diarization)技术本质上是无监督的声纹聚类,它只能区分出音频中有几个不同的声音,并给它们编号,但无法知道这些编号对应现实中的哪个人。
- 解决:这是所有 Diarization 系统的共同“局限”。在实际工作流中,通常需要人工后期校对。你可以:
- 在 ts-web 的播放界面,结合音频,手动修改文本前的说话人标签。
- 导出
.json文件,里面包含了每个片段的时间戳和说话人 ID,你可以用脚本批量替换。例如,如果你知道 Speaker 0 是“张三”,Speaker 1 是“李四”,写一个简单的 Python 脚本将对应的 ID 替换为名字即可。
问题5:生成的摘要质量不高,或者格式不符合要求。
- 原因:主要取决于提示词(Prompt)和模型能力。
- 解决:
- 优化提示词:如前文所述,仔细设计你的
prompt_text。明确指令、指定格式、给出例子(Few-shot),能极大提升输出质量。 - 尝试不同模型:Ollama 支持众多模型。你可以停止默认的
ollama容器,换用其他可能更擅长总结的模型,例如llama3.2或qwen2.5:7b。只需修改docker-compose.yml中ollama服务的启动命令,或通过 Ollama 的 API 在运行时拉取和切换模型。 - 后处理:如果摘要只是格式有点乱,可以写一个简单的后处理脚本,对
summary.txt的内容进行清洗和格式化。
- 优化提示词:如前文所述,仔细设计你的
问题6:通过 SSH 放入的文件,在 ts-web 里看不到。
- 这是预期行为。SSH 投递和 Web 上传是两个独立的入口。SSH 处理的文件,其状态和结果不通过 ts-web 的数据库管理,因此不会在 Web 任务列表显示。你需要直接到服务器文件系统的
transcribed目录下去查找结果。
5.3 性能与稳定性优化
- 为长音频文件启用分段处理:Whisper 本身能处理长音频,但一次性加载超长文件到内存可能不稳定。
whisper-diarization通常内置了分段逻辑。你可以检查其配置,确保chunk_length_s参数设置合理(例如 30秒)。这能在处理数小时长的文件时提高稳定性。 - 使用更快的存储:确保 Docker 的数据卷(
./data)和模型缓存目录位于 SSD 上。机械硬盘的 IO 速度会成为整个流水线的瓶颈,尤其是在加载大型模型时。 - 监控 GPU 使用情况:使用
nvidia-smi -l 1命令实时监控 GPU 显存占用和利用率。这能帮助你判断瓶颈是在计算还是数据加载上,并据此调整批处理大小或并发任务数。 - 定期清理:转录生成的中间文件和缓存可能会占用大量空间。可以设置一个定时任务(cron job),定期清理
./data目录下超过一定天数的临时文件夹,或者只保留最终的输出文件。
这个项目将一个复杂的多模态 AI 应用栈,封装成了几乎可以一键部署的解决方案。它最大的价值在于提供了一个完整、可复现的参考架构。你可以直接用它作为生产力工具,更可以将其作为蓝图,根据自身需求裁剪、增强或集成到更大的系统中。例如,将其转录结果自动同步到 Notion、钉钉文档,或者与你的客户关系管理系统(CRM)打通,自动生成客户访谈报告。想象空间,就此打开。
