v1.2.0 独立详情页+赛季选择+季后赛对阵图:/team|player|game|news|person/<id> 详情页(交叉链接);弹窗加查看完整详情;排名页多赛季切换(2024-25/2025-26);季后赛bracket对阵图(playoffs.py);seed_seasons补充数据
This commit is contained in:
@@ -16,6 +16,8 @@
|
||||
- 📰 **参考资讯折叠块**:回答用到新闻/百科时,回答上方默认折叠展示资讯链接,点击直达详情
|
||||
- ✨ **实体识别标记**:回答中的球队/球员/人物/比赛自动高亮(含简称:雷霆/湖人/库里/字母哥…),点击弹出详情;回答下方生成快速查看卡片
|
||||
- 📝 **Markdown 回答**:大模型回答以 Markdown 渲染(标题/列表/表格/代码块/引用),本地 marked 库无外部依赖
|
||||
- 🔗 **独立详情页**:`/team/1` `/player/1` `/game/1` `/news/1` `/person/1`,弹窗与列表中均有「查看完整详情」链接跳转;详情页内含交叉链接(球队→球员/比赛,比赛→球员/球队)
|
||||
- 🏆 **季后赛对阵图**:排名页展示完整 bracket(首轮/半决/分区决赛/总决赛),胜者高亮、点击看比赛,支持多赛季切换(2024-25 / 2025-26)
|
||||
|
||||
## 🏗️ 系统架构
|
||||
|
||||
@@ -36,27 +38,29 @@
|
||||
| 模块 | 技术 | 说明 |
|
||||
|------|------|------|
|
||||
| 对话大脑 | DeepSeek `deepseek-v4-flash`(函数调用) | 意图理解、工具选择、答案生成 |
|
||||
| 结构化数据 | SQLite(本地) | 球队/球员/比赛/统计/排名/新闻/人物 |
|
||||
| 结构化数据 | SQLite(本地) | 球队/球员/比赛/统计/排名/新闻/人物,多赛季(2024-25/2025-26) |
|
||||
| 向量检索 | Chroma(16010,REST) | 新闻/百科语义检索(cosine) |
|
||||
| Embedding | bge-large-zh-v1.5(16011,1024维) | 中文语义向量 |
|
||||
| Rerank | bge-reranker-v2-m3(16011) | 检索精排(可选) |
|
||||
| 前端 | 原生 HTML/JS(无构建) | 深色球赛风,对话 + 六大浏览页 |
|
||||
| 前端 | 原生 HTML/JS(无构建) | 对话 + 六大浏览页 + 独立详情页 + 管理后台 + 对阵图 |
|
||||
|
||||
## 📁 目录结构
|
||||
|
||||
```
|
||||
nba-fan-hub/
|
||||
├── api.py # Flask 服务(REST API + 静态页 + 管理后台路由)
|
||||
├── api.py # Flask 服务(REST API + 静态页 + 详情页路由 + 管理后台)
|
||||
├── chat.py # 对话管线(工具路由 + 兜底 + 覆盖补全)
|
||||
├── tools.py # 8 个查询工具(SQL + 向量),含绰号别名/模糊匹配
|
||||
├── llm.py # DeepSeek 调用(思考模式 reasoning_content 回传)
|
||||
├── entity_linker.py # 实体识别程序(回答中球队/球员/人物/比赛标记 + 卡片)
|
||||
├── playoffs.py # 季后赛对阵图生成器(多赛季 bracket)
|
||||
├── admin.py # 管理后台 API(登录认证 + 通用 CRUD + 站点配置)
|
||||
├── vector_store.py # Embedding + Chroma + Rerank(纯 REST,零额外依赖)
|
||||
├── db.py # SQLite 连接与建表(含 site_config 配置表)
|
||||
├── seed.py # 种子数据入口(幂等,可 --rebuild-vector)
|
||||
├── seed_seasons.py # 赛季补充数据(2024-25 排名/季后赛 + 2025-26 首轮补齐)
|
||||
├── seed_*.py # 模拟数据(30队/154球员/54比赛/46新闻百科/38人物)
|
||||
├── static/ # 前端页面(index.html 前台 + admin.html 后台 + lib/marked.min.js)
|
||||
├── static/ # 前端(index.html 前台 / admin.html 后台 / detail.html 详情页 + lib/marked.min.js)
|
||||
├── data/ # nba_fan.db(自动生成)
|
||||
└── start.sh # 启停脚本(start/stop/restart/status/seed)
|
||||
```
|
||||
@@ -86,7 +90,10 @@ nba-fan-hub/
|
||||
| `GET /api/teams[?q=]` `GET /api/teams/<id>` | 球队列表/详情(含阵容+近期比赛) |
|
||||
| `GET /api/players[?q=]` `GET /api/players/<id>` | 球员列表/详情 |
|
||||
| `GET /api/games[?q=&status=]` `GET /api/games/<id>` | 比赛列表/详情(含技术统计) |
|
||||
| `GET /api/standings?conf=西部/东部` | 排名 |
|
||||
| `GET /api/standings?conf=西部/东部&season=2025-26` | 排名(多赛季) |
|
||||
| `GET /api/seasons` | 可用赛季列表 |
|
||||
| `GET /api/playoffs?season=2025-26` | 季后赛对阵图(首轮/半决/分区决赛/总决赛) |
|
||||
| `GET /team/<id>` `/player/<id>` `/game/<id>` `/news/<id>` `/person/<id>` | 独立详情页 |
|
||||
| `GET /api/news[?q=&kind=]` `GET /api/news/<id>` | 新闻/百科 |
|
||||
| `GET /api/persons[?q=&role=]` | 人物(coach/commentator/host/agent/gm/legend) |
|
||||
| `GET /api/health` | 健康检查 + 数据统计 |
|
||||
|
||||
Reference in New Issue
Block a user