用了NovelAi的模型,
码云地址:https://gitee.com/writeor/NovelAiDraw
系统分析设计实现报告
1、引言
1.1选题背景
人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
本项目使用NovelAi公司于网络上泄露的绘画训练模型制作,根据用户提供的描述词
和其他限制参数生成图片。仅供学习。
1.2系统需求
Ai在线绘画网站的核心业务如下:
用户访问系统,可以生成图片,管理自己的图片,修改账号和邮箱,可以给图片点赞。
管理员用户可以管理图片,可以生成图片,管理自己的图片,修改账号和邮箱,可以给图片点赞。
1.3参考资料
https://thereisnospon.github.io/NovelAiTag/
2、总体设计
2.1系统功能设计
AI在线绘画网站主要包括图片生成、用户管理,图片管理,个人信息管理四个模块。
图片生成模块提供给用户来输入描述词生成图片。
用户管理模块提供给管理员管理用户。
图片管理模块提供给管理员管理图片。
个人信息模块提供给所有用户更改自己的信息。
AI在线绘画网站的功能设计结构图如图所示:
2.2界面原型设计
2.2系统架构设计
系统采用的是Springboot框架,与Web页面之间采用JQuery的AJAX(Asynchronous JavaScript And XML)请求通过跨域访问的方式实现与服务端的通信。使用BootStrap绘制了界面。
服务端分为两个,一个springboot的服务器和一个python语言的服务器。
客户层负责分发处理客户端请求、身份验证、权限控制、数据类型转换、视图解析、会话管理;
业务逻辑层负责处理具体业务逻辑;基础服务层为业务逻辑层提供必要的支持。
数据访问层负责业务实体持久化。
服务端系统架构图如图2-2所示。
图2-2 服务端系统架构图
2.4运行环境
该系统使用JSP、HTML、MySQL、python等软件开发,JSP技术很好地适应了交互站点设计和基于Web的数据库访问的要求。该系统的运行需要拥有具有Cuda运算核心的显卡的服务器,本系统需要大量的显存,单机配置最低需要6g显存。低于该配置可能会无法运行。具体配置:
服务器 | CPU R5 2600或以上,显卡1660或以上 |
3、数据库设计
基于对AI在线绘画网站需求分析与设计,设计出AI在线绘画网站的实体关系模型。
ER图如下图3-1所示:
图3-1 随意购网上商城E-R图
表结构如表3-1所示。
表3-1 图片信息表(ai_images)
字段名 | 字段类型 | 允许为空 | 默认值 | 字段意义 | 注释 |
img_path | varchar(2000) | 非空 | 图片的路径 | ||
author | varchar(50) | 图片的作者 | |||
like | Int(10) | 图片的赞数 | |||
prompt | varchar(5000) | 正向标签 | |||
width | varchar(200) | 图片的宽度 | |||
height | varchar(200) | 图片的高度 | |||
steps | varchar(200) | 步数 | |||
scale | varchar(200) | 迭代循环 | |||
sampler | varchar(200) | 算法 | |||
seed | varchar(200) | 种子 | |||
n_samples | varchar(200) | 反向标签的开关 | |||
strength | varchar(200) | 强度 | |||
noise | varchar(200) | 噪音 | |||
uc | varchar(2000) | 0 | 反向标签 |
用户信息表主要用于保存用户的信息,主要字段包括:姓名,邮箱,密码。表结构如表3-2所示。
表3-2 用户详情信息表(user)
字段名 | 字段类型 | 允许为空 | 默认值 | 字段意义 | 注释 |
user_id | int(10) | 非空 | 用户id | 主键 | |
user_name | varchar(50) | 非空 | 用户名 | ||
user_email | varchar(50) | 用户邮箱 | |||
user_pass | varchar(50) | 用户密码 | |||
user_rank | Int(3) | 0 | 1是管理员,0是普通用户 | 1是管理员,0是普通用户 |