自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (3)
  • 收藏
  • 关注

原创 从零打造 AI 小说创作平台(八):生成历史与版本管理

AI小说创作平台的版本管理系统 本文介绍了AI小说创作平台NovelForge的版本管理模块,主要功能包括: 数据模型:设计了generation_jobs表记录每次AI生成的内容,包含生成模式、输入输出、token消耗等关键信息,支持5种生成模式(初稿/续写/改编/润色/手动保存)。 核心功能: 自动创建历史记录 支持按模式筛选历史版本 锁定重要版本防止被自动清理 版本回溯功能(自动保存当前内容后再恢复历史版本) 自动清理机制(每章节保留最多50条未锁定记录) 前端交互:提供历史面板展示版本记录,支持查看

2026-05-22 08:58:18 245

原创 从零打造 AI 小说创作平台(七):续写、改编与润色流水线

本文介绍了AI小说创作平台NovelForge中的续写、改编与润色三大功能流水线。续写流水线采用两阶段处理(上下文分析→生成续写),改编流水线同样分为两阶段(原文解析→生成改编),而润色流水线则采用单阶段直接生成模式。文章详细说明了各流水线的状态定义、LangGraph架构设计以及核心节点实现逻辑,包括上下文分析、文风特征提取、情绪基调识别等关键技术点。三种流水线共享基础设施但各有特色:续写追加内容,改编提供预览选择,润色直接生成优化版本。

2026-05-22 08:57:32 244

原创 从零打造 AI 小说创作平台(六):AI 创作流水线(下)——多模型路由与流式输出

本文介绍了AI小说创作平台NovelForge的两项核心技术:多模型路由和流式输出。在多模型路由方面,系统通过统一接口支持8个LLM提供商,包括OpenAI兼容模式和原生SDK接入,并采用BYOK(自带密钥)策略进行灵活路由。API密钥采用AES-256-GCM加密存储,确保安全性。在流式输出方面,后端使用SSE(Server-Sent Events)技术实现实时内容推送,通过异步生成器和事件回调机制,让用户能够实时看到AI生成的内容。整个系统设计兼顾了多模型兼容性、数据安全和用户体验。

2026-05-22 08:56:52 319

原创 从零打造 AI 小说创作平台(五):AI 创作流水线(上)——六阶段编排设计

本文介绍了AI小说创作平台NovelForge的核心模块——六阶段创作流水线设计。该流程从基础设定出发,经过总大纲、分卷大纲、章节小纲、情节校验等阶段,最终生成完整小说章节。文章详细阐述了架构决策采用Service层+LangGraph的组合方案,以及PipelineState的状态定义。关键设计包括:阶段流转规则(正向流转和回退机制)、用户操作处理(approve/reject/edit)、会话管理(创建/暂停/恢复)以及LangGraph的图定义。整个系统采用Human-in-the-loop模式,确保

2026-05-22 08:56:12 315

原创 从零打造 AI 小说创作平台(四):项目与章节管理

本文介绍了AI小说创作平台NovelForge的项目与章节管理模块设计。重点包括: 数据模型:采用projects和chapters表结构,支持软删除和章节排序,通过DEFERRABLE约束实现安全重排序。 核心功能: 自动保存机制(前端2秒防抖) 中英文混合字数统计 章节顺序交换的事务处理 软删除实现 与AI流水线集成:章节表包含session_id、draft_content等字段,为后续AI创作功能预留接口。 数据同步:基础设定变更自动更新项目信息,确保数据一致性。 该模块作为连接用户认证和AI创作的

2026-05-22 08:54:41 293

原创 从零打造 AI 小说创作平台(三):用户认证系统

本文介绍了AI小说创作平台NovelForge的用户认证系统设计与实现。系统采用JWT+bcrypt加密方案,包含注册、登录、邮箱验证、密码重置等完整功能。数据库设计包含users和email_tokens表,支持角色权限管理(writer/admin)。核心实现包括密码加密、JWT签发、认证依赖注入和Redis黑名单机制。安全措施涵盖防信息泄露、接口限流和角色权限控制。前端采用localStorage存储Token,并实现自动刷新机制。该系统为平台后续业务功能提供了安全可靠的认证基础。

2026-05-21 18:31:52 330

原创 从零打造 AI 小说创作平台(二):项目脚手架与开发环境

摘要:AI小说创作平台开发环境搭建 本文介绍了AI小说创作平台NovelForge的开发环境搭建方案,目标是让开发者30分钟内完成环境配置。主要内容包括: 后端工程结构:采用FastAPI框架,清晰分层设计(API→Service→Repository→Model),包含12个Router、20个Service和12个Repository。 配置管理:使用pydantic-settings实现类型安全的多环境配置,支持数据库、Redis、JWT等关键配置。 异常体系:设计7层异常类,覆盖所有HTTP错误场景

2026-05-21 18:29:47 159

原创 从零打造 AI 小说创作平台(一):系统架构与技术蓝图

NovelForge是一个AI小说创作平台,采用单体架构设计,核心功能包括六阶段创作流水线、多模型路由和流式输出。系统基于FastAPI+Vue3技术栈,后端使用LangGraph进行AI流程编排,支持8个LLM提供商。数据库采用PostgreSQL存储结构化数据,Qdrant处理向量记忆。平台强调人机协作,用户可控制创作流程的每个环节。安全设计包含JWT认证、数据隔离和API限流。开发采用敏捷模式,分5个Sprint完成核心功能。该设计平衡了工程复杂度与个人作者的使用需求。

2026-05-21 18:26:52 347

原创 如何在Linux上部署Docker容器

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口Docker是基于容器技术的轻量级虚拟化解决方案。

2024-01-23 23:25:30 2007

原创 如何在Linux上部署Nexus私服

Nexus 是一个强大的仓库管理解决方案,由Sonatype公司开发。它主要用于软件开发中各种依赖包和构件的存储、管理和分发。

2024-01-22 16:25:54 825

原创 SpringBoot实现本地上传Word文档并在线预览

所需依赖 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.9</version> </dependency> <!--word 操作-->

2022-02-23 12:47:28 3702 1

原创 SpringBoot实现PPT格式文件上传并在线预览

1、需要引入依赖 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.9</version> </dependency> <dependency>

2022-02-23 12:17:20 2238

原创 SpringBoot集成Activiti

SpringBoot集成Activiti首先创建springboot项目,可以直接在IDEA上File -> New -> Project -> Spring Initializr -> Next 即可创建简单的springboot项目。项目前提:Jdk1.8Mysql5.7+Maven3.6+项目需引入的依赖 <dependency> <groupId>org.activiti</groupId>

2021-12-07 10:59:47 5841

原创 基于Docker部署SRS流媒体服务

1、创建 bridge 网络并指定 IP 区间#创建自定义网络docker network create --driver bridge --subnet 172.0.0.0/16 srs_network #查看已存在网络docker network ls2、创建数据目录# 创建数据目录mkdir -p /home/docker/srs43、安装SRS3.1、 创建配置文件# 安装并启动 srsdocker run -it -p 1935:1935 -p 1985:1985 -p

2021-07-22 10:45:52 3570 1

原创 基于Docker部署FastDFS文件服务器

1、查找Docker Hub上的fastdfs镜像docker search fastdfs2、拉取镜像docker pull delron/fastdfs3、使用docker镜像构建tracker容器(跟踪服务器,起到调度的作用)docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs tracker

2021-07-02 15:52:33 392

原创 SpringCloud从零开始搭建

一、注册中心EurekaCAP定理: Eureka是AP (高可用性,分区容错性)Eureka由多个instance(服务实例)组成,这些服务实例可以分为两种:Eureka Server和Eureka Client。为了便于理解,我们将Eureka client再分为Service Provider和Service Consumer。Eureka Server 提供服务注册和发现Service Provider 服务提供方,将自身服务注册到Eureka,从而使服务消费方能够找到Service

2021-06-16 08:33:53 229

原创 理解JVM虚拟机的工作原理

理解JVM虚拟机的工作原理什么是JVM?是运行所有Java程序的抽象计算机,运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java 最具吸引力的特性之一。虚拟机jvm就是一个操作系统中的进程实例。JVM的内存模型堆所有对象都在这里分配内存,是垃圾回收的主要区域。方法区用于存放加载的类信息、常量、静态变量、即时编译后的代码等数据。运行时常量池Class文件的常量池,会在类加载后被放入这个区域jJava虚拟机栈用于存放局部变量、操作数栈、常量池引用等信

2021-06-16 08:29:02 249

原创 JUC并发编程

JUC并发编程1、什么是JUCJUC就是java.util.concurrent包下面的类方法。2、线程和进程一个进程包含多个线程,Java不能创建线程,是通过 private native void start0(); 来进行创建。CPU 单核是通过线程之间快速交替并行,实际同一时间只有一个线程在运行。CPU 多核则是多个线程同时执行,可创建线程池。 public static void main(String[] args) { // 获取Cpu核数

2021-05-06 08:58:47 167

原创 IntelliJ Idea 如何自动给实体生成序列化UUID

当我们创建一个序列化实体时,有时需要一个必要的序列号UUID才能避免业务一些未知的错误。@Datapublic class DeviceWarnCache implements Serializable { private String id; private String deviceTypeId; private String deviceTypeName; private String deviceTypeCode;}解决方法:先进入设置 Fil

2021-03-30 09:53:23 2578 1

原创 【开源项目】SpringBoot+Vue+ElementUI 前后端分离搭建大学生档案管理系统

项目背景该系统是本人大学时期为同学代做的毕业设计之一,因为不存在什么保密的所以进行开源,又由于系统是在大学时候做的,所以可能存在很多技术缺陷的问题,希望大家能谅解~,可能大家会好奇这个项目作为毕业设计需要花费多少,所以在这里也毫无保留的告诉大家,因为只是单纯的完成设计不做报告以及PPT的编写,项目大概只收了2000人民币,还是比较算得上友情价的,毕竟项目要从技术分析、原型设计、数据库设计等一系列操作以后才能达到现在所看到的样子。框架介绍项目是采用当前比较流行的前后端分离的开发模式。后端主要采用S

2021-03-10 09:35:52 2495

原创 【开源项目】 SpringBoot+Vue 搭建公司门户网站以及后台管理系统

项目背景这个项目是本人和一位好友也是大学室友在大学的时候接的一个大学老师的项目,主要是做一个智能马桶的官网,当时我俩技术都还不是很成熟,接这个项目纯粹属于边学边做,不过在做项目的过程中确实也学习到很多的知识,毕竟实践出真理嘛。因为项目并不是很急,所以我们再做的时候并没有很仓促,有足够的时间去学习再应用。这个项目当时做的时候是需要门户网站适用PC端和移动端两个,同时还需要一个单独的后台管理系统。项目的价格在6500人民币,这个也算大学中赚到的最多的一次了。后端项目后端主要是通过Springboot

2021-03-10 09:35:18 18644 20

原创 【毕业设计】Springboot + Vue 搭建智能停车场可视化管理平台

项目背景重庆交通大学2019级毕业设计作品。关于对寻找停车场、预约、停车等一系列操作进行管理。以及车库对自己停车场进行管理的可视化平台兼容系统。由于当时没有硬件结合,所以许多操作都采用模拟的方式。后端项目通过springboot搭建,运用到其他开源技术有:mysqlmybatismybatis通用mapperwebsocketshiroqiniujpalombok…项目包含了完整的接口封装,异常捕获、日志记录、权限拦截等项目操作,很适合初始java的同学进行源码学习和理解。

2021-03-10 09:33:57 2828 7

原创 JAVA通过Easypoi实现后端接口模板导出和数据导入

easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板语言(熟悉的表达式语法),完成以前复杂的写法特点1.设计精巧,使用简单2.接口丰富,扩展简单3.默认值多,write less do more4.spring mvc支持,web导出可以简单明了1、依赖引入如果是使用springmvc的便捷,可直接引入easypoi-base<depen

2021-03-10 09:30:24 1510

原创 SpringBoot激光推送后端集成

1.引入激光推送相关依赖到pom中<dependency> <groupId>cn.jpush.api</groupId> <artifactId>jpush-client</artifactId> </dependency><dependency>2.在激光推送官网注册账户,创建项目,获...

2019-09-03 10:52:11 981

原创 在SpringBoot中创建自己的starter

1.pom引入<dependencys> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> </depen...

2019-09-03 10:47:18 298

原创 【Java基础】基于Java的学生信息管理系统

好久没有写过这种简单的程序了,这次写这个也主要是给一个刚学习java的兄弟看,让他了解怎么写这种简单的小项目。这个学生管理系统主要涉及的java基础知识有变量、数据类型、流程控制、数组操作、面向对象、数据封装(构造、重载)、多态、接口、集合、异常、线程(用了一个线程延时)等。语法都是用的相对简单的语法,便于初学者学习和观看。程序结构 -----Main.java 程序入口 ...

2019-03-27 17:45:53 9667 4

原创 【Shiro】Springboot 关于 Shiro 权限配置 以及 相关问题解决

1、权限配置首先涉及到用户、权限、角色三张表,三张表的关系为用户与角色为一对多,角色与权限为一对多2、配置shiro的相关目录3、引入shiro相关依赖 <!--shiro --> <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-core --> ...

2019-03-26 10:10:26 1121

原创 【IDEA】 SpringBoot如何实现热加载

1.pom.xml中引入依赖 <!--热部署 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactI...

2019-03-26 09:09:07 1944

原创 Thymeleaf语法入门

1.Thymeleaf简介官方网站:https://www.thymeleaf.org/index.htmlThymeleaf是用来开发Web和独立环境项目的现代服务器端Java模板引擎。Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板 - HTML。可以在直接浏览器中正确显示,并且可以作为静态原型,从而在开发团队中实现更强大的协作。借助Spring Framework...

2019-02-21 09:03:12 342

原创 SpringCloud各种组件配置信息

1.Eurekaserver: port: 10086spring: application: name: eureka-servereureka: client: fetch-registry: false register-with-eureka: false service-url: defaultZone: http://1...

2019-02-20 16:28:47 267

原创 SpringBoot之过滤器配置和应用

一、创建过滤器单独创建一个filter的类继承Filter接口,重写接口里面的init()、doFilter()、destory()方法即可。public class LoginFilter implements Filter { private static Logger logger = LoggerFactory.getLogger(LoginFilter.class);...

2018-10-18 13:18:47 709

原创 Lambda语法及例子

package com.example.pk.lambada;import org.assertj.core.util.Lists;import java.util.*;import java.util.function.Supplier;import java.util.stream.Collectors;import java.util.stream.Stream;clas...

2018-09-18 10:27:27 271

原创 API的理解和使用

全局命令查看所用键查看键总数检查键是否存在, 存在返回1 不存在则返回0127.0.0.1:6379&gt; exists welcome 删除键 (可以删除任意结构的数据)127.0.0.1:6379&gt; del key [key ...]支持删除多个键键过期  key(键名)  seconds(多少秒后过期)127.0.0.1:6379&gt; expire key seconds设置了键...

2018-06-15 22:09:59 733

原创 Redis的正确安装与启动

1.安装Redis在Linux上安装Redis1.下载Redis指定版本的源码压缩包Dao当前目录 (笔者这里下载的是3.0.7版本)$ wget http://download.redis.io/releases/redis-3.0.7.tar.zip2.解压缩包Redis源码压缩包$ tar xzf redis-3.0.7.tar.gz3.建立一个redis目录的软连接,指向redis-3.0...

2018-06-15 21:22:24 640

原创 Redis开发与运维

第一章  初识RedisRedis的正确安装与启动

2018-06-15 19:27:07 375

原创 Django配置mysql数据库

1.在项目setting.py配置信息中DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'perfectcrm', 'USER': 'root', 'PASSWORD': 'welcome123', 'HOST':...

2018-06-11 14:17:38 216

原创 【Java Web开发】关于数据库的操作

1.mysql连接数据库并创建数据库连接对象第一种:Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/javaweb?user=root&amp;password=welcom123");第二种:public class DBConnection { private static String u...

2018-05-27 14:21:50 933

原创 在Azure上创建SQL云数据库

1)2)3)4)6)7)8)9)10)11)12)本地用sql server连接云端上的sql便可实现本地操作,我使用的是Navicat13)14)15)16)

2018-05-24 13:05:42 601

原创 python温湿度数据远程接收处理入库程序

程序结构Brige---+        ----dbconnect.py    (数据库连接和配置信息)        ----crc16.py     (CRC16校验程序)        ---- cdb.py    (对数据库cdb表的操作)        ----cdsjb.py    (对数据库cdsjb表的操作)        ----gcxmb.py    (对数据库gcxmb表的...

2018-05-16 21:48:22 1695

原创 MYSQL数据类型

一、数字整数类型(范围不一样)    1.bit    2.tinyint        -128~127        0~255    3.smallint    4.int    5.bigint二、小数型    1.decimal        ---精确的小数值        ---num decimal(6,2) #0000.00    2.float        ---数字越大越不...

2018-05-01 14:10:38 183

Java学生信息管理系统

一个简单的java学生管理系统,这个学生管理系统主要涉及的java基础知识有变量、数据类型、流程控制、数组操作、面向对象、数据封装(构造、重载)、多态、接口、集合、异常、线程(用了一个线程延时)等。语法都是用的相对简单的语法,便于初学者学习和观看。

2019-03-27

Python温湿度数据测量与处理及数据库存储

用python远程对数据进行采集和处理,最后写入自己的数据库 运用技术:python、pymysql等等

2018-05-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除