后端需求拆分与实现方案
1. 预设问题功能
需求:基于当前转写纪要内容,生成废话问题,预设5-6个新问题,默认显示3个高质量预设问题
后端实现:
- 接口设计:
POST /api/questions/generate - 输入:会议纪要内容(transcription_id或content)
- 核心逻辑:
- 调用LLM(如GPT/Claude)分析会议内容
- 提示词工程:设计prompt生成5-6个相关问题
- 问题质量评分:对生成的问题进行相关性和重要性评分
- 排序并返回top 3作为默认显示
- 输出:问题列表(包含问题文本、评分、排序)
- 数据库:可缓存生成的问题避免重复调用LLM
2. 获取摘要功能
需求:解释会议真正说明了什么
后端实现:
- 接口设计:
POST /api/summary/generate - 输入:会议纪要ID或内容
- 核心逻辑:
- 使用LLM进行内容总结
- 提取关键信息:主题、决策、行动项、重要观点
- 生成结构化摘要(分段或分类)
- 输出:摘要文本(可包含多个维度:主题概览、关键决策、待办事项等)
- 优化:支持不同摘要长度(简短/详细)
3. 生成存疑功能
需求:从文体中提取行动项
后端实现:
- 接口设计:
POST /api/action-items/extract - 输入:会议内容
- 核心逻辑:
- NLP识别行动相关语句(包含"需要"、"应该"、"待办"等关键词)
- LLM提取结构化行动项:任务描述、责任人、截止时间
- 分类:已明确/待确认的行动项
- 输出:行动项列表
{ "action_items": [ { "task": "完成需求文档", "assignee": "张三", "deadline": "本周五", "confidence": 0.85, "source_text": "张三本周五前完成需求文档" } ] }
4. 写邮件功能
需求:基于文件内容生成邮件草稿
后端实现:
- 接口设计:
POST /api/email/generate - 输入:
- 会议内容
- 邮件类型(总结邮件/行动邮件/会议纪要等)
- 收件人信息(可选)
- 核心逻辑:
- 根据邮件类型选择不同的模板和prompt
- LLM生成邮件:主题行、正文、结尾
- 格式化输出(HTML或纯文本)
- 输出:邮件草稿(主题、正文、建议收件人)
5. 总结重点功能
需求:帮助用户快速回忆会议内容
后端实现:
- 接口设计:
POST /api/highlights/extract - 输入:会议内容
- 核心逻辑:
- 提取关键句子(重要性评分)
- 识别重点段落:决策点、争议点、共识点
- 生成要点列表(bullet points)
- 输出:
{ "highlights": [ "决定采用微服务架构", "预算批准为50万", "项目延期至下月15日" ], "key_moments": [ { "timestamp": "00:15:30", "content": "CEO确认了新产品发布时间" } ] }
技术架构建议
核心技术栈
- LLM集成:OpenAI API/Claude API/自部署模型
- 异步处理:对于耗时的LLM调用使用消息队列(Redis/RabbitMQ)
- 缓存策略:Redis缓存已生成的结果
- 数据库:存储会议内容、生成结果、用户交互记录
通用处理流程
1. 接收请求 → 参数验证
2. 检查缓存 → 命中则直接返回
3. 调用LLM → 异步处理(长任务)
4. 结果后处理 → 格式化、评分、排序
5. 存储结果 → 缓存+数据库
6. 返回响应
性能优化
- 流式返回:对于长文本生成支持SSE(Server-Sent Events)
- 批量处理:预生成常见问题减少实时调用
- 降级策略:LLM服务异常时使用规则引擎备用方案
监控指标
- LLM调用成功率和响应时间
- 各功能使用频率
- 用户满意度(通过调整事项开发反馈收集)
这样拆分后,每个功能都有清晰的职责边界,便于独立开发、测试和优化。你们团队可以根据优先级逐个实现这些接口。