OpenClaw+Phi-3-mini-128k-instruct会议小助手:语音转写与要点生成

1. 为什么需要自动化会议纪要

每周三下午的部门例会总是让我头疼。作为项目负责人,我需要同时主持会议、参与讨论,还要记录关键决策点。经常出现这样的情况:会议结束后翻看笔记,发现漏记了重要内容;或是花半小时整理的纪要,被同事反馈"重点不突出"。

直到上个月,我尝试用OpenClaw+Phi-3-mini-128k-instruct搭建了一个自动化会议助手。现在,每次会议结束后5分钟内,钉钉群就会自动收到结构化会议纪要,包含决策项、待办任务和风险提示。实测显示,相比人工记录,这套方案将纪要产出效率提升了3倍以上。

2. 技术方案设计思路

2.1 核心组件分工

整个系统由三个关键部分组成:

  1. 腾讯会议API:获取会议录音文件
  2. Phi-3-mini-128k-instruct模型:处理语音转写文本,生成结构化摘要
  3. OpenClaw自动化框架:协调整个流程,将结果推送至钉钉

选择Phi-3-mini-128k-instruct的原因在于其出色的指令跟随能力和128k的超长上下文窗口,能完整处理1-2小时的会议录音转写文本。

2.2 工作流设计

完整流程分为四个阶段:

graph TD
    A[腾讯会议结束] --> B[OpenClaw获取录音]
    B --> C[语音转写为文本]
    C --> D[Phi-3生成结构化纪要]
    D --> E[推送至钉钉群]

3. 关键实现步骤

3.1 腾讯会议API接入

首先需要在腾讯云控制台申请会议API权限。关键配置点包括:

  • 创建企业自建应用
  • 开通"获取会议录制文件"权限
  • 设置IP白名单(OpenClaw所在服务器的公网IP)

OpenClaw配置文件中需要添加以下凭证:

{
  "tencentMeeting": {
    "sdkId": "你的SDK ID",
    "secretKey": "你的Secret Key"
  }
}

3.2 Phi-3-mini模型部署

使用vllm部署Phi-3-mini-128k-instruct模型时,特别注意这两个参数:

python -m vllm.entrypoints.api_server \
    --model microsoft/Phi-3-mini-128k-instruct \
    --tensor-parallel-size 1 \
    --max-model-len 131072

在OpenClaw的模型配置中声明这个本地服务:

{
  "models": {
    "providers": {
      "local-phi3": {
        "baseUrl": "http://localhost:8000/v1",
        "api": "openai-completions",
        "models": [
          {
            "id": "phi3-mini",
            "name": "Local Phi-3 Mini",
            "contextWindow": 131072
          }
        ]
      }
    }
  }
}

3.3 纪要生成Prompt设计

经过多次调试,最终确定的prompt模板如下:

你是一位专业的会议纪要整理助手。请根据以下会议录音转写文本:
1. 提取3-5个关键决策点
2. 列出所有待办事项(包含负责人和截止时间)
3. 识别潜在风险和建议
4. 用Markdown格式输出

会议内容:
{{transcription_text}}

这个模板配合Phi-3的指令跟随能力,能稳定输出结构清晰的纪要。

4. OpenClaw自动化集成

4.1 主流程技能开发

在OpenClaw中创建一个新skill来处理完整流程:

// meeting-minutes/index.js
module.exports = {
  name: 'meeting-minutes',
  actions: {
    async processMeeting(meetingId) {
      // 1. 从腾讯会议获取录音
      const audio = await this.tencentMeeting.getRecording(meetingId);
      
      // 2. 调用语音转写服务
      const transcription = await this.speechToText(audio);
      
      // 3. 调用Phi-3生成纪要
      const summary = await this.phi3.generateSummary(transcription);
      
      // 4. 推送至钉钉
      await this.dingtalk.sendMarkdown(summary);
    }
  }
}

4.2 钉钉机器人配置

在钉钉开放平台创建自定义机器人后,需要在OpenClaw中配置webhook:

{
  "channels": {
    "dingtalk": {
      "webhook": "https://oapi.dingtalk.com/robot/send?access_token=你的token",
      "secret": "你的签名密钥"
    }
  }
}

5. 实际效果与优化经验

5.1 效果对比

对比测试显示:

  • 人工记录:平均耗时45分钟(录音回放+整理)
  • 自动化方案:从会议结束到钉钉收到纪要,平均只需12分钟
  • 关键信息完整度:自动化方案反而更高(不会遗漏讨论细节)

5.2 遇到的坑与解决方案

问题1:长会议转录文本截断 初期发现2小时以上的会议纪要质量下降,检查发现是转写文本超过模型默认max_tokens。解决方案是在vllm启动参数中显式设置--max-model-len 131072

问题2:钉钉Markdown格式错乱 钉钉对Markdown的支持有限,后来调整prompt,让模型输出兼容性更好的简化版Markdown。

问题3:会议ID获取不及时 腾讯会议的录制文件有时延迟生成,现在改为会议结束后主动触发,增加重试机制。

6. 扩展应用场景

这套方案经过简单调整,可以适用于:

  • 客户访谈记录自动归档
  • 培训视频内容摘要生成
  • 跨时区会议的双语纪要生成(让Phi-3增加翻译步骤)

一个意外收获是,自动生成的纪要格式统一,方便后续用其他工具进行数据分析。比如可以用简单的脚本从历史纪要中提取所有待办事项,生成团队效率报告。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐