237 lines
6.5 KiB
Markdown
237 lines
6.5 KiB
Markdown
|
|
# 古诗词智能查询与解析器
|
|||
|
|
|
|||
|
|
基于H5技术的古诗词智能查询与解析应用,集成AI能力提供深度诗词解析、作者背景分析、文学价值评估等功能。
|
|||
|
|
|
|||
|
|
## 功能特性
|
|||
|
|
|
|||
|
|
### 1. 智能查询模块
|
|||
|
|
- **多维度检索**:支持按标题、作者、朝代、关键词、诗句片段进行模糊/精确查询
|
|||
|
|
- **分类浏览**:按朝代(唐、宋、元、明、清等)、题材(山水、边塞、咏物、抒情等)、作者分类展示
|
|||
|
|
- **高级筛选**:支持按字数(五言、七言等)、押韵、创作年代范围筛选
|
|||
|
|
|
|||
|
|
### 2. AI解析核心功能
|
|||
|
|
- **诗词释义**:逐句/逐词现代汉语翻译
|
|||
|
|
- **意境分析**:解析诗词营造的意境、情感基调
|
|||
|
|
- **修辞手法识别**:识别比喻、拟人、对仗、用典等修辞技巧
|
|||
|
|
- **格律分析**:平仄分析、押韵检测、格律合规性评估
|
|||
|
|
- **创作背景**:结合历史背景解析创作动机和时代意义
|
|||
|
|
- **文学价值评估**:从文学史角度评价诗词的地位和影响
|
|||
|
|
|
|||
|
|
### 3. 交互学习功能
|
|||
|
|
- **对比分析**:支持两首诗词的对比解析
|
|||
|
|
- **相似推荐**:基于当前诗词推荐主题、风格相似的诗词
|
|||
|
|
- **知识问答**:AI问答功能,解答关于诗词的各类问题
|
|||
|
|
- **背诵助手**:提供填空测试、顺序排序等背诵辅助功能
|
|||
|
|
|
|||
|
|
### 4. 个性化功能
|
|||
|
|
- **收藏夹**:用户可收藏喜爱的诗词
|
|||
|
|
- **学习记录**:记录用户的查询和学习历史
|
|||
|
|
- **难度分级**:根据用户水平推荐相应难度的诗词
|
|||
|
|
- **分享功能**:生成诗词卡片分享到社交媒体
|
|||
|
|
|
|||
|
|
## 技术架构
|
|||
|
|
|
|||
|
|
### 前端技术栈
|
|||
|
|
- HTML5 + CSS3 + JavaScript (ES6+)
|
|||
|
|
- 响应式设计,适配移动端、平板、PC端
|
|||
|
|
- PWA支持,可添加到主屏幕,支持离线访问
|
|||
|
|
- Service Worker实现离线缓存
|
|||
|
|
- Font Awesome图标库
|
|||
|
|
- Google Fonts中文字体
|
|||
|
|
|
|||
|
|
### 后端技术栈
|
|||
|
|
- Python Flask框架
|
|||
|
|
- RESTful API设计
|
|||
|
|
- 集成DeepSeek AI API
|
|||
|
|
- CORS跨域支持
|
|||
|
|
- JSON数据格式
|
|||
|
|
|
|||
|
|
### AI集成
|
|||
|
|
- 使用DeepSeek Chat模型进行诗词解析
|
|||
|
|
- 可配置的提示词模板
|
|||
|
|
- 支持多参数定制解析(目的、场景、读者、深度、重点)
|
|||
|
|
|
|||
|
|
## 项目结构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
gushi/
|
|||
|
|
├── index.html # 主页面
|
|||
|
|
├── manifest.json # PWA配置文件
|
|||
|
|
├── README.md # 项目说明
|
|||
|
|
├── requirements.txt # Python依赖
|
|||
|
|
├── static/ # 静态资源
|
|||
|
|
│ ├── css/
|
|||
|
|
│ │ └── style.css # 样式文件
|
|||
|
|
│ ├── js/
|
|||
|
|
│ │ ├── main.js # 主JavaScript逻辑
|
|||
|
|
│ │ └── service-worker.js # Service Worker
|
|||
|
|
│ └── images/ # 图片资源
|
|||
|
|
├── api/ # 后端API
|
|||
|
|
│ └── app.py # Flask应用
|
|||
|
|
├── templates/ # 模板文件(预留)
|
|||
|
|
└── data/ # 数据文件(预留)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 快速开始
|
|||
|
|
|
|||
|
|
### 1. 环境要求
|
|||
|
|
- Python 3.8+
|
|||
|
|
- Node.js (可选,用于前端开发)
|
|||
|
|
- 现代浏览器(Chrome 80+, Firefox 75+, Safari 13+)
|
|||
|
|
|
|||
|
|
### 2. 安装依赖
|
|||
|
|
```bash
|
|||
|
|
# 安装Python依赖
|
|||
|
|
pip install -r requirements.txt
|
|||
|
|
|
|||
|
|
# 或使用虚拟环境
|
|||
|
|
python -m venv venv
|
|||
|
|
source venv/bin/activate # Linux/Mac
|
|||
|
|
venv\Scripts\activate # Windows
|
|||
|
|
pip install -r requirements.txt
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 配置AI API
|
|||
|
|
在 `api/app.py` 中配置你的DeepSeek API密钥:
|
|||
|
|
```python
|
|||
|
|
SK_API_KEY = "your-deepseek-api-key-here"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. 启动后端服务器
|
|||
|
|
```bash
|
|||
|
|
cd api
|
|||
|
|
python app.py
|
|||
|
|
```
|
|||
|
|
服务器将在 http://localhost:5000 启动
|
|||
|
|
|
|||
|
|
### 5. 访问前端应用
|
|||
|
|
1. 直接打开 `index.html` 文件
|
|||
|
|
2. 或使用Python启动HTTP服务器:
|
|||
|
|
```bash
|
|||
|
|
python -m http.server 8000
|
|||
|
|
```
|
|||
|
|
然后在浏览器中访问 http://localhost:8000
|
|||
|
|
|
|||
|
|
## API接口
|
|||
|
|
|
|||
|
|
### 基础信息
|
|||
|
|
- `GET /` - API基本信息
|
|||
|
|
|
|||
|
|
### 诗词查询
|
|||
|
|
- `GET /api/poetry` - 获取诗词列表
|
|||
|
|
- `GET /api/poetry/<id>` - 获取特定诗词详情
|
|||
|
|
- `GET /api/search?q=<query>` - 搜索诗词
|
|||
|
|
|
|||
|
|
### AI解析
|
|||
|
|
- `POST /api/ai/analyze` - AI解析诗词
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"poetry_title": "静夜思",
|
|||
|
|
"author": "李白",
|
|||
|
|
"dynasty": "唐",
|
|||
|
|
"purpose": "学习理解",
|
|||
|
|
"usage": "课堂教学",
|
|||
|
|
"target_audience": "中小学生",
|
|||
|
|
"depth": "基础",
|
|||
|
|
"focus": "意境分析"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 使用示例
|
|||
|
|
|
|||
|
|
### 1. 基本查询
|
|||
|
|
在搜索框中输入"李白"或"明月",系统将显示相关诗词。
|
|||
|
|
|
|||
|
|
### 2. AI解析
|
|||
|
|
1. 点击任意诗词卡片查看详情
|
|||
|
|
2. 在AI解析区域设置解析参数
|
|||
|
|
3. 点击"生成AI解析"按钮
|
|||
|
|
4. 查看AI生成的深度解析结果
|
|||
|
|
|
|||
|
|
### 3. 收藏功能
|
|||
|
|
在诗词详情页面点击"收藏"按钮,将诗词添加到个人收藏夹。
|
|||
|
|
|
|||
|
|
### 4. 分享功能
|
|||
|
|
点击"分享"按钮,可以将诗词内容复制到剪贴板或通过系统分享功能分享。
|
|||
|
|
|
|||
|
|
## PWA功能
|
|||
|
|
|
|||
|
|
### 添加到主屏幕
|
|||
|
|
1. 在Chrome或Edge浏览器中访问应用
|
|||
|
|
2. 点击地址栏右侧的"安装"图标
|
|||
|
|
3. 或通过菜单选择"添加到主屏幕"
|
|||
|
|
|
|||
|
|
### 离线使用
|
|||
|
|
应用支持离线访问已缓存的诗词和基本功能。
|
|||
|
|
|
|||
|
|
## 开发说明
|
|||
|
|
|
|||
|
|
### 添加新诗词
|
|||
|
|
在 `api/app.py` 的 `SAMPLE_POETRY_DB` 数组中添加新的诗词数据:
|
|||
|
|
```python
|
|||
|
|
{
|
|||
|
|
"id": 4,
|
|||
|
|
"title": "登鹳雀楼",
|
|||
|
|
"author": "王之涣",
|
|||
|
|
"dynasty": "唐",
|
|||
|
|
"content": "白日依山尽,黄河入海流。\n欲穷千里目,更上一层楼。",
|
|||
|
|
"type": "哲理",
|
|||
|
|
"word_count": "五言",
|
|||
|
|
"tags": ["登高", "哲理", "壮丽"]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 自定义样式
|
|||
|
|
修改 `static/css/style.css` 文件中的CSS变量:
|
|||
|
|
```css
|
|||
|
|
:root {
|
|||
|
|
--primary-color: #8b4513; /* 主色调 */
|
|||
|
|
--secondary-color: #d2691e; /* 次要色调 */
|
|||
|
|
--light-color: #f5f5dc; /* 浅色背景 */
|
|||
|
|
--dark-color: #2c1810; /* 深色背景 */
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 扩展功能
|
|||
|
|
1. 添加数据库支持(SQLite/MySQL/PostgreSQL)
|
|||
|
|
2. 实现用户认证系统
|
|||
|
|
3. 集成更多AI模型
|
|||
|
|
4. 添加诗词创作功能
|
|||
|
|
5. 实现社交分享功能
|
|||
|
|
|
|||
|
|
## 浏览器兼容性
|
|||
|
|
|
|||
|
|
- ✅ Chrome 80+
|
|||
|
|
- ✅ Firefox 75+
|
|||
|
|
- ✅ Safari 13+
|
|||
|
|
- ✅ Edge 80+
|
|||
|
|
- ✅ Opera 67+
|
|||
|
|
|
|||
|
|
## 许可证
|
|||
|
|
|
|||
|
|
本项目采用 MIT 许可证。
|
|||
|
|
|
|||
|
|
## 贡献指南
|
|||
|
|
|
|||
|
|
1. Fork 本仓库
|
|||
|
|
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
|
|||
|
|
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
|
|||
|
|
4. 推送到分支 (`git push origin feature/AmazingFeature`)
|
|||
|
|
5. 开启 Pull Request
|
|||
|
|
|
|||
|
|
## 联系方式
|
|||
|
|
|
|||
|
|
如有问题或建议,请通过以下方式联系:
|
|||
|
|
- 提交 GitHub Issue
|
|||
|
|
- 发送邮件至 example@example.com
|
|||
|
|
|
|||
|
|
## 致谢
|
|||
|
|
|
|||
|
|
- 感谢所有古诗词作者和研究者
|
|||
|
|
- 感谢DeepSeek提供AI能力支持
|
|||
|
|
- 感谢开源社区提供的各种工具和库
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**探索千年诗词之美,AI智能解析,深度理解古诗词的意境与内涵**
|