基于 LangGraph4j + LangChain4j 构建的 AI 文稿续写平台,支持用户上传小说/文档文件,通过多阶段 AI 工作流自动分析文风、检索上下文并生成高质量续写内容。
- 多格式文档支持:支持 TXT、PDF、EPUB 等格式自动解析
- AI 工作流编排:基于 LangGraph4j 状态图实现 8 节点工作流
- RAG 检索增强:Qdrant 向量库存储文档分片,语义检索注入 Prompt
- 流式内容生成:SSE 实时推送 AI 生成内容
- 审核迭代机制:条件边实现生成→审核→重写的循环优化
- Java 21 + Spring Boot 3.5.8
- LangChain4j 1.1.0 + LangGraph4j 1.6.0
- MyBatis-Flex 1.11.0 + MySQL
- Redis + Redisson 3.27 + Qdrant
- Knife4j 4.5 + OpenAPI 3.0
- Vue 3 + TypeScript
- Vite + Element Plus
- Tailwind CSS
wenxu/
├── src/ # 单体应用主代码
│ └── main/java/edu/xingliu/wenxu/
│ ├── controller/ # REST 接口
│ ├── service/ # 业务逻辑
│ ├── langgraph4j/ # AI 工作流
│ │ ├── node/ # 工作流节点
│ │ ├── tool/ # 文本处理工具
│ │ └── service/ # 向量检索服务
│ └── mapper/ # 数据访问层
├── wenxu-frontend/ # 前端项目
├── wenxu-microservice/ # 微服务模块(练习用)
└── sql/ # 数据库脚本
- JDK 21+
- MySQL 8.0+
- Redis 6.0+
- Qdrant (可选,用于向量检索)
- Node.js 18+ (前端)
- 克隆项目
git clone https://github.com/18gzh18/wenxu.git
cd wenxu- 配置敏感信息
# 复制配置模板
cp src/main/resources/application.yml src/main/resources/application-local.yml
# 编辑 application-local.yml,填入数据库密码和 API Key- 初始化数据库
# 执行 sql/sql.sql 创建数据库和表- 启动应用
mvn spring-boot:runcd wenxu-frontend
npm install
npm run dev启动后访问:http://localhost:8080/api/doc.html
预处理 → 文本分析 → 向量存储 → 检索 → Prompt增强 → 生成 → 审核 → 保存
↑ │
└─ 重写 ──┘
敏感配置(API Key、数据库密码等)存放在 application-local.yml,该文件已被 .gitignore 忽略。
spring:
datasource:
password: your-password
langchain4j:
open-ai:
chat-model:
api-key: your-api-keyxingliu