【LangChain4j 11】【项目实践 :HiNovel】

文章目录

  • 一、前言
  • 二、项目介绍
    • [1. 项目概述](#1. 项目概述)
    • [2. 核心功能](#2. 核心功能)
    • [3. 技术栈](#3. 技术栈)
    • [4. 项目定位](#4. 项目定位)
  • 三、项目部署
    • [1. 环境要求](#1. 环境要求)
    • [2. Docker 一键部署](#2. Docker 一键部署)
      • [2.1 克隆项目](#2.1 克隆项目)
      • [2.2 配置环境变量](#2.2 配置环境变量)
      • [2.3 启动服务](#2.3 启动服务)
    • [3. 手动部署](#3. 手动部署)
      • [3.1 后端部署](#3.1 后端部署)
      • [3.2 前端部署](#3.2 前端部署)
    • [4. 服务验证](#4. 服务验证)
      • [4.1 前端访问](#4.1 前端访问)
      • [4.2 后端接口测试](#4.2 后端接口测试)
    • [5. 目录结构说明](#5. 目录结构说明)
  • 四、项目使用
    • [1. 系统登录](#1. 系统登录)
    • [2. 模型配置](#2. 模型配置)
      • [2.1 LLM 对话模型](#2.1 LLM 对话模型)
      • [2.2 嵌入模型 (Embedding)](#2.2 嵌入模型 (Embedding))
    • [3. Agent 管理](#3. Agent 管理)
    • [4. 小说配置](#4. 小说配置)
      • [4.1 Agent 选择](#4.1 Agent 选择)
      • [4.2 创作参数](#4.2 创作参数)
    • [5. 小说创作](#5. 小说创作)
      • [5.1 新建小说](#5.1 新建小说)
      • [5.2 创建章节](#5.2 创建章节)
    • [6. 工具栏功能](#6. 工具栏功能)
    • [7. 统计分析](#7. 统计分析)
  • 五、参考内容

一、前言

本系列内容来源于 LangChain4J 官网,内容稍作改删,仅做个人笔记使用。

本系列使用 LangChain4J 版本:

xml 复制代码
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-bom</artifactId>
            <version>1.8.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

本系列完整代码地址 :langchain4j-hwl

系列文章合集:

  1. 【LangChain4j 01】【基本使用】
  2. 【LangChain4j 02】【AI Services】
  3. 【LangChain4j 03】【Agents and Agentic AI】
  4. 【LangChain4j 04】【Tools (Function Calling)】
  5. 【LangChain4j 05】【RAG】
  6. 【LangChain4j 06】【结构化输出】
  7. 【LangChain4j 07】【Guardrails】
  8. 【LangChain4j 08】【Observability】
  9. 【LangChain4j 09】【MCP】
  10. 【LangChain4j 10】【Skills】
  11. 【LangChain4j 11】【项目实践 :HiNovel】

二、项目介绍

1. 项目概述

HiNovel 是一款面向小说创作者的 AI 辅助写作平台,致力于通过人工智能技术提升长篇小说创作效率。平台集成了章节编辑、人物图谱、RAG 知识库检索、多 Agent 协作等核心能力,为作者提供全方位的创作支持。

2. 核心功能

功能模块 功能描述
章节编辑 富文本编辑器,支持实时预览、版本对比、一键导出
人物图谱 可视化人物关系网络,支持角色节点和关系连线管理
RAG 知识库 智能检索参考资料,确保创作符合设定
多 Agent 协作 剧情规划、内容创作、编辑润色、逻辑检查等专业 Agent
AI 问答 与 AI 对话获取创作建议和剧情分析
统计分析 创作数据统计、进度追踪、成本监控

3. 技术栈

  • 后端:Spring Boot 3.x + LangChain4j 1.8.0
  • 前端:Vue 3 + TypeScript + Element Plus
  • 数据库:MySQL 8.0 + Redis 7.0
  • 容器化:Docker + Docker Compose

4. 项目定位

重要提示 :本项目是兴趣使然,最初是作为 LangChain4j 框架的学习实践项目,全程通过 Vibe Coding 完成开发。目前仍处于开发测试阶段(各种 BUG 层出不穷),主要用于个人技术研究和学习。

⚠️ 警告 :本项目未经系统性测试,存在已知和未知的 Bug,不推荐用于任何生产环境或实际业务场景

由于项目定位为学习练手项目,设计上遵循"一切从简"原则,舍弃了各种云服务和三方组件,仅保留 MySQL 和 Redis 的必要组件。


三、项目部署

HiNovel 支持 Docker 一键部署和手动部署两种方式,推荐使用 Docker 部署以简化环境配置。

1. 环境要求

组件 最低版本 说明
Docker 20.10+ 容器运行环境
Docker Compose 2.0+ 容器编排工具
Java 21+ 手动部署时后端运行环境
MySQL 8.0+ 数据库服务
Redis 7.0+ 缓存服务

2. Docker 一键部署

2.1 克隆项目

shell 复制代码
# 克隆项目到本地
git clone https://github.com/HKingFish/HiNovel.git

# 进入项目目录
cd HiNovel

2.2 配置环境变量

shell 复制代码
# 复制示例环境配置文件
cp .env.example .env

# 编辑 .env 文件,配置必要参数
vim .env

必填配置项说明:

变量名 说明 默认值
MYSQL_ROOT_PASSWORD MySQL 根密码 -
MYSQL_PASSWORD 应用数据库密码 -
API_KEY_SECRET API Key 加密密钥(32位字符串) -
SERVER_PORT 后端服务端口 8080
DB_HOST 数据库主机地址 mysql
REDIS_HOST Redis 主机地址 redis

可选配置项说明:

变量名 说明 默认值
DB_NAME 数据库名称 hinovel
DB_USER 数据库用户名 admin
REDIS_PORT Redis 端口 6379
REDIS_PASSWORD Redis 密码 -

2.3 启动服务

shell 复制代码
# 启动所有服务(包含数据库、Redis、后端、前端)
bash docker-build.sh up

# 如需后台运行
bash docker-build.sh up -d

# 停止服务
bash docker-build.sh down

# 查看日志
bash docker-build.sh logs

注意:首次启动时会自动下载 Docker 镜像并初始化数据库,可能需要较长时间,请耐心等待。

3. 手动部署

3.1 后端部署

shell 复制代码
# 进入后端目录
cd hinovel-server

# 编译项目
mvn clean package -DskipTests

# 运行项目
java -jar target/hinovel-server-1.0.0.jar

3.2 前端部署

shell 复制代码
# 进入前端目录
cd hinovel-web

# 安装依赖
npm install

# 开发模式运行
npm run dev

# 生产构建
npm run build

# 预览构建结果
npm run preview

4. 服务验证

部署完成后,通过以下方式验证服务是否正常运行:

4.1 前端访问

打开浏览器访问:http://localhost:80(或配置的 SERVER_PORT

4.2 后端接口测试

shell 复制代码
# 检查健康检查接口
curl http://localhost:8080/api/health

# 预期响应
{"code":200,"message":"success","data":"OK"}

5. 目录结构说明

复制代码
HiNovel/
├── hinovel-server/          # 后端服务
│   ├── src/main/java/       # Java 源代码
│   ├── src/main/resources/  # 配置文件
│   └── sql/                 # 数据库初始化脚本
├── hinovel-web/             # 前端应用
│   ├── src/                 # Vue 源代码
│   └── dist/                # 构建产物
├── docker-compose.yml       # Docker Compose 配置
├── docker-build.sh          # 一键部署脚本
└── .env.example             # 环境变量示例

四、项目使用

HiNovel 提供了完整的 AI 辅助小说创作体验,以下是详细的使用指南。


1. 系统登录

项目部署完成后,使用默认管理员账号登录系统:

  • 账号 : admin
  • 密码 : Admin@123456

登录后即可进入系统主界面,开始配置和使用各项功能。


2. 模型配置

在使用 AI 功能之前,需要先配置模型提供方。系统支持两种类型的模型:

2.1 LLM 对话模型

用于小说创作、内容生成、AI 问答等核心场景的通用大语言模型。

2.2 嵌入模型 (Embedding)

用于 RAG 知识库检索,支持对小说内容、人物设定、参考资料等进行语义搜索。


配置路径: 管理后台 → AI 模型配置

在配置页面中,需要填写模型的 API 密钥、模型名称、API 端点等信息。系统支持多种主流模型提供商。


3. Agent 管理

HiNovel 采用多 Agent 协作架构,系统内置了多个专业的 Agent 模块:

Agent 类型 功能描述
剧情规划师 帮助构建小说大纲和章节结构
内容创作师 根据大纲生成章节内容
人物塑造师 辅助人物设定和角色刻画
编辑润色师 优化文本表达和语言风格
逻辑检查师 检查剧情逻辑和连贯性

配置路径: 管理后台 → Agent 管理

每个 Agent 可以独立配置使用的模型,以适应不同的创作需求。


4. 小说配置

系统支持为每本小说独立配置 Agent 和创作参数:

4.1 Agent 选择

为当前小说选择需要启用的 Agent 服务,可根据小说类型和创作阶段灵活调整。

4.2 创作参数

  • 风格设定: 指定小说的语言风格(如古风、现代、科幻等)
  • 篇幅控制: 设置每章的目标字数范围
  • 创作模式: 快速生成 / 精细打磨 / 严格按照大纲

5. 小说创作

5.1 新建小说

在小说列表页点击「新建小说」,填写小说基本信息:

  • 小说标题
  • 分类标签
  • 简介描述

5.2 创建章节

进入小说创作页后,点击「新建章节」:

  1. 填写大纲: 在「本章大纲」中输入章节细纲
  2. 补充要求: 在「剧情要点」和「补充要求」中添加详细指导
  3. AI 生成 : 点击「AI 改写」或「AI 续写」按钮,AI 会根据大纲生成正文内容 启用 RAG 功能才能根据不忘记前文。

6. 工具栏功能

小说创作页右侧工具栏提供丰富的辅助功能:

  • 大纲视图 :查看和管理小说整体结构,支持拖拽调整章节顺序。
  • 笔记功能 :记录创作灵感、待办事项、参考资料链接等。
  • AI 问答 :与 AI 进行关于当前小说的对话,询问剧情发展建议、人物动机分析等。 需要启用 RAG 功能才能联系整本小说进行问答
  • 人物图谱 :可视化展示小说中的人物关系网络,支持添加人物节点和关系连线。
  • 历史版本 :查看章节的所有修改历史,支持一键回滚到任意版本。

7. 统计分析

系统提供创作数据统计:

  • 每日/周/月创作字数统计
  • AI 使用次数和成本统计
  • 章节完成进度追踪

五、参考内容

暂无