# 文章标签自动推荐功能需求文档 ## 1. 功能概述 根据文章内容,自动推荐 3-5 个合适的标签或分类,减少手动维护的麻烦。博主可一键确认添加推荐标签。 ## 2. 业务背景 - 当前标签需要手动维护,增加博主工作量 - 手动维护的标签不够准确或全面 - 希望通过 AI 能力简化标签选择流程 ## 3. 功能需求 ### 3.1 标签推荐 - 当博主在编辑器中撰写或编辑文章时,提供标签推荐入口 - 点击推荐按钮后,系统自动分析文章内容 - 调用大语言模型,分析文章主题和内容 - 生成 3-5 个合适的标签词 - 推荐结果以标签卡片形式展示 - 博主可选择全部采纳或部分采纳 - 采纳的标签自动添加到文章的标签列表中 ### 3.2 AI 调用 - 调用模型时使用提示词:`"这篇文章适合哪些标签?只返回标签词,用逗号分隔。"` - 传递文章标题和正文内容给模型 - 模型返回结果后,前端解析并展示 - 如模型调用失败,提示用户手动添加标签 ### 3.3 前端展示 - 推荐按钮:位于文章编辑页标签区域,文字为"智能推荐"或图标形式 - 加载状态:推荐过程中显示加载动画 - 推荐结果:展示 3-5 个标签按钮 - 交互:点击标签按钮可取消选中,已选中的标签高亮显示 - 确认按钮:"确认添加"将选中的标签添加到文章 ## 4. 交互流程 ``` 1. 博主进入文章编辑页面 2. 博主在标签区域点击"智能推荐"按钮 3. 系统显示加载状态 4. 系统调用 AI 模型分析文章内容 5. 前端展示推荐标签列表(3-5个) 6. 博主勾选想要添加的标签 7. 博主点击"确认添加" 8. 选中的标签添加到文章标签列表 ``` ## 5. 接口设计 ### 5.1 推荐标签接口 - 请求路径:`/api/article/recommend-tags` - 请求方法:`POST` - 请求参数: ```json { "title": "文章标题", "content": "文章正文内容" } ``` - 返回参数: ```json { "success": true, "data": { "tags": ["标签1", "标签2", "标签3", "标签4", "标签5"] } } ``` ## 6. 技术实现 - 后端:复用现有的 AI 服务调用能力 - 模型:使用配置项 **`dashscope.model`**(环境变量 `DASHSCOPE_MODEL`),**不使用** AI 助手模型管理表 `ai_assistant_model`;助手后台对模型的启用 / 禁用 **不影响** 本功能(与《AI助手模型管理功能需求》约定 D-10 一致) - 前端:在文章编辑页面添加推荐按钮和交互 与 **AI 文章润色**、**文章摘要** 共用 DashScope API Key 与 `callModel` 调用链;与 **AI 助手** 对话的模型选择、会话绑定 **无耦合**。全站统一后台配模见助手模型需求范围外说明,非本期内容。 ## 7. 非功能需求 - 推荐响应时间应在 5 秒内完成 - 如果模型服务不可用,应给出友好提示 - 推荐结果应基于文章实际内容,确保标签相关性 ## 8. 验收标准 - [ ] 在文章编辑页面能看到"智能推荐"按钮 - [ ] 点击推荐按钮后,3-5 秒内显示推荐结果 - [ ] 推荐结果以标签形式展示,可勾选 - [ ] 确认添加后,标签成功添加到文章 - [ ] 模型服务异常时,有友好提示