🎯 核心设计理念

异步生成 + 多层降级 + 用户体验优先

📋 整体架构流程

1
2
用户首次提问 → 创建对话(临时标题) → AI回复 → 异
步生成标题 → 更新对话

🔧 技术实现方案

1. 触发时机设计

  • 主触发点 :用户发送首条消息且AI回复完成后
  • 备选触发 :对话创建后的第一次消息交互
  • 手动触发 :提供用户主动重新生成标题的接口

2. 标题生成策略(三层降级)

第一层:LLM智能生成

  • 使用现有的 deepseek-reasoner 模型
  • 专门设计标题生成 prompt
  • 输入:用户问题 + AI回答的前200字
  • 输出:10-30字符的精准标题

第二层:关键词提取

  • LLM生成失败时的备选方案
  • 提取用户问题中的关键词
  • 组合成简洁标题

第三层:默认规则

  • 使用时间戳 + “新对话”
  • 确保系统稳定性

3. 异步处理架构

1
2
3
4
5
6
7
8
9
10
11
12
# 推荐实现方式
class TitleGenerationService:
    async def generate_title_async(self, 
    conversation_id, user_message, 
    ai_response):
        # 异步生成标题
        pass
    
    def generate_with_fallback(self, 
    content):
        # 多层降级策略
        pass

4. 数据库设计优化

在 Conversation 模型中添加:

  • title_status : 标题状态(generating/completed/failed)
  • title_generated_at : 标题生成时间
  • auto_generated : 是否自动生成的标题

🚀 实施步骤

阶段一:基础功能

  1. 创建 TitleGenerationService 服务类
  2. 在聊天接口中集成异步标题生成
  3. 实现基本的LLM标题生成

阶段二:优化体验

  1. 添加多层降级策略
  2. 实现前端状态显示
  3. 提供手动编辑功能

阶段三:高级功能

  1. 批量重新生成历史标题
  2. 用户偏好设置
  3. 标题生成历史和版本管理

💡 关键优势

  1. 用户体验流畅 :异步处理不阻塞聊天
  2. 高可靠性 :多层降级确保总能生成标题
  3. 智能化程度高 :利用AI理解对话内容
  4. 可扩展性强 :支持后续功能增强
  5. 性能优化 :避免同步等待影响响应速度

🔒 错误处理机制

  • 重试策略 :最多3次重试
  • 超时控制 :单次生成不超过10秒
  • 日志记录 :详细记录失败原因用于优化
  • 用户反馈 :允许用户报告标题质量问题

📊 监控指标

  • 标题生成成功率
  • 各层降级策略使用比例
  • 用户手动修改标题的频率
  • 标题生成平均耗时