面向古诗词课堂的多智能体诗词理解与文生图系统。
PoetryVision 将古诗词中的意象、场景、情绪和教学重点转化为可视化素材。它提供一个面向课堂使用的 Web 工作流:输入诗句,选择风格,先用 SDXL-Turbo 快速生成预览图,再根据教师反馈修正画面,最后用 Kolors 与 SDXL Base 生成高质量候选图。
这个仓库适合三类读者:
- 教师或演示者:快速生成可用于课堂讲解的古诗词配图。
- 开发者:本地部署 Web 服务,替换模型路径,扩展生成流程或反馈规则。
- 研究与项目评审者:了解系统架构、质量流水线、测试方式和可复现实验入口。
- 诗词语义理解:抽取主题、意象、场景、人物、情绪和画面约束。
- 双风格生成:内置
国风写实与水墨两种课堂常用视觉风格。 - 快速预览:SDXL-Turbo 生成低等待时间候选图,便于即时筛选。
- 人类反馈闭环:将“加入月亮”“不要现代建筑”“画面更空旷”等自然语言反馈转为生成约束。
- 高清候选生成:Kolors 与 SDXL Base 分阶段输出,先完成的图片先展示。
- 可选视觉评估:Qwen2.5-VL 可异步检查画面元素,不阻塞候选图展示。
- 运行记录:保存 prompt、negative prompt、seed、反馈解析、模型状态和最终选择,便于复盘与训练数据沉淀。
flowchart LR
A[输入诗词] --> B[诗词理解与元素抽取]
B --> C[构建结构化 Prompt]
C --> D[SDXL-Turbo Quick 预览]
D --> E[教师选择与反馈]
E --> F{是否需要修正?}
F -->|需要| G[反馈解析与 Prompt 更新]
G --> D
F -->|通过| H[Kolors / SDXL Base 高清生成]
H --> I[最终选择与素材保存]
D -. 可选 .-> J[Qwen2.5-VL 异步检查]
H -. 可选 .-> J
PoetryVision 的代码可以在普通 Python 环境中启动 Web 服务;真实生图需要额外准备模型权重。
git clone https://github.com/7ianostalgia/PoetryVision.git
cd PoetryVision
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python poetry_web/server.py打开浏览器访问:
http://127.0.0.1:7861
如果还没有配置模型路径,Web 服务可以用于查看界面和 API 结构;要运行完整生成流程,请继续阅读 服务器部署 或 Mac 本地安装。
模型权重不随仓库发布,需要自行下载或挂载到本地/服务器。常用环境变量如下:
export POETRY_WEB_HOST=0.0.0.0
export POETRY_WEB_PORT=7861
export ENABLE_VL_EVAL=0
export POETRY_RUN_COMMAND="python scripts/run_quality_pipeline.py"
export POETRY_QWEN_MODEL=/path/to/Qwen2.5-7B-Instruct
export POETRY_QWEN_VL_MODEL=/path/to/Qwen2.5-VL-7B-Instruct
export POETRY_SDXL_TURBO_MODEL=/path/to/sdxl-turbo
export POETRY_KOLORS_MODEL=/path/to/Kolors-diffusers
export POETRY_SDXL_BASE_MODEL=/path/to/stable-diffusion-xl-base-1.0| 阶段 | 默认模型 | 作用 |
|---|---|---|
| 诗词理解 | Qwen2.5-7B-Instruct | 抽取诗词意象与结构化画面元素 |
| 快速预览 | SDXL-Turbo | 生成 Quick 候选图 |
| 高清生成 | Kolors | 生成中文语境更强的高质量候选图 |
| 高清生成 | SDXL Base | 补充高清候选图 |
| 可选评估 | Qwen2.5-VL | 异步检查候选图与诗词/反馈的一致性 |
PoetryVision/
├── poetry_web/ # Web 后端服务与 API 路由
├── frontend/static/ # Web 前端页面、样式和交互脚本
├── cloud_repro/ # 生成流水线、反馈解析、提示词构建和案例存储
├── scripts/ # 启动、迁移、测试、训练和批处理脚本
├── tests/ # 单元测试与 Web 流程测试
├── configs/ # 环境变量示例
├── docs/ # 使用、部署、架构和训练文档
├── assets/ # 公开截图和演示素材
└── data/ # 轻量诗词资产与公开样例数据
更多目录说明见 项目结构。
基础验证:
python -m unittest discover -s tests -v
python -m compileall -q cloud_repro poetry_web scripts
node --check frontend/static/app.js服务器完整流程验证:
bash scripts/nightly_full_loop_test.sh- 用户手册:从 Web 页面完成一次诗词配图生成。
- 运行手册:启动、停止、排查 Web 服务和生成任务。
- 服务器部署:在 GPU 服务器上配置模型路径并运行完整流程。
- Mac 本地安装:在本地准备代码环境和轻量开发环境。
- 项目结构:了解目录、模块和主要入口。
- 架构说明:理解多模型流水线和模块边界。
- Quality Pipeline:了解 Quick、反馈、高清生成和最终选择的数据流。
- 脚本索引:查找可用 CLI、测试、训练和研究脚本。
- 训练指南:构建数据集并训练 SDXL-Turbo LoRA。
PoetryVision 当前是教育场景原型,重点验证“诗词理解 + 教师反馈 + 多模型生图”的完整闭环。仓库只包含代码、轻量数据和公开文档;模型权重、生成结果、运行日志、私有材料和服务器备份不属于公开仓库内容。