97 lines
3.2 KiB
Markdown
97 lines
3.2 KiB
Markdown
# 文章标签自动推荐功能需求文档
|
|
|
|
## 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 秒内显示推荐结果
|
|
- [ ] 推荐结果以标签形式展示,可勾选
|
|
- [ ] 确认添加后,标签成功添加到文章
|
|
- [ ] 模型服务异常时,有友好提示
|