01.博客系统AI集成

文章目录

  • 1.系统概述
    • 1.1.功能简介
    • 1.2.后端技术
    • 1.3.前端技术
    • 1.4.系统展望与当前进度
    • 1.5.b站视频地址
  • 2.快速上手
    • 2.1.项目地址
    • 2.2.环境准备(安装 => 跳过)
      • 2.2.1.安装docker环境
      • 2.2.2.安装mysql容器
      • 2.2.3.安装redis容器
      • 2.2.4.安装mongo容器
      • 2.2.5.安装nacos容器
    • 2.3.数据准备
      • 2.3.1.mysql表结构创建
      • 2.3.2.mongo数据结构
      • 2.3.3.获取阿里短信密钥
      • 2.3.4.获取通义千问AI密钥
    • 2.4.运行项目
      • 2.4.1.克隆项目
      • 2.4.2.修改后端配置文件
      • 2.4.3.运行前端项目
      • 2.4.4.运行效果

1.系统概述

1.1.功能简介

mxun系统主要是为了打造一个开源的,提供学习的一个轻量级博客系统。现在的AI比较发达,感觉也导致很多程序员丧失了学习的欲望,因为你学了很久的东西,别人一样可以通过AI来收到相关的知识然后去处理对应的问题,虽然如此,我还是觉得学习一些基础的知识还是很有必要的,我写这个系统的目的主要是为了以后能找一份更好的工作而写的,如果有志同道合的人,希望能够一起学习。

1.2.后端技术

  • spring-cloud-alibaba: 整体是在该框架上面进行开发的
  • openfeign: 服务间调用的框架
  • nacos: 服务发现和注册中心, 配置中心暂时没有使用
  • mybatis-flex: 数据库操作框架
  • redisson: redis操作框架
  • netty: 用于websocket通信的框架
  • mysql: 数据库(用户数据, 文章信息存储)
  • redis: 缓存数据存储
  • mongo: ai对话信息存储
  • docker: 本地的时候跑一下redis,mongo,服务器上面就会跑整个程序
  • k8s: 后期本地虚拟机部署使用


1.3.前端技术

Vue 3 + TypeScript + Vite
备注: 由于我个人主要是学习后端的, 前端技术就只能应付一下


1.4.系统展望与当前进度

展望: 系统需通过权限的统一校验,接口权限的限制(类似充费会员模式)来实现系统的可靠性,从而协助用户完成文章的编辑发布与阅读功能。
进度: 从后端层面讲项目已完成用户的权限认证,接口权限限制等功能,从前端来看已经基本实现了AI的对话功能,具体的功能细节后面的章节会进行一个详细的说明。


1.5.b站视频地址

微服务集成通义千问AI快速上手


2.快速上手

2.1.项目地址

后端: https://github.com/lzlandtll/mxun.git
前端: https://github.com/lzlandtll/mxun-web.git


2.2.环境准备(安装 => 跳过)

2.2.1.安装docker环境

-- 1.更新已经安装的软件,如果出现镜像源地址不可用则需要更新一下yum源地址
yum update -y

-- 1.1.备份centos官方镜像源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

-- 1.2.拉取新的镜像源地址
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

-- 1.3.清除本地已下载包的元数据和缓存
yum clean all

-- 1.4.更新下载软件的元数据信息
yum makecache

-- 1.5.更新已经安装的软件
yum update -y

-- 2.安装yum工具,可以使用其中的一些工具,例如仓库添加
yum install -y yum-utils

-- 3.添加docker镜像源(阿里镜像源可能没有docker的软件包,可通过yum list docker-ce)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

-- 4.添加完docker镜像源仓库建议再次更新一下软件包这些
yum update -y

-- 5.安装docker(使用梯子)
yum install -y docker-ce docker-ce-cli containerd.io

-- 6.运行docker
systemctl start docker

-- 7.设置docker开机自启动
systemctl enable docker



2.2.2.安装mysql容器

-- 1.拉取mysql镜像
docker pull mysql:8.0

-- 2.运行mysql容器
docker run \
-p 3306:3306 --name mysql8 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/my.cnf:/etc/mysql/my.cnf \
-v /mydata/mysql/conf.d:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0

-- 2.1.参数说明
  --name mysql8 将该实例命名为mysql8
  -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
  -v /mydata/mysql/my.cnf:/etc/mysql/my.cnf:将配置文件挂载到主机
  -v /mydata/mysql/conf.d:/etc/mysql/conf.d:将配置文件夹挂载到主机
  -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
  -v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
  -e MYSQL_ROOT_PASSWORD=root:初始化 123456  
  -d 后台方式运行


-- 3.进入mysql容器
docker exec -it mysql8 /bin/bash



2.2.3.安装redis容器

-- 1.拉取redis镜像
docker pull redis

-- 2.创建配置文件夹
mkdir -p /mydata/redis/conf

-- 3.创建配置文件(直接运行redis可能就给你生成了文件夹)
touch /mydata/redis/conf/redis.conf

-- 4.运行redis
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf



2.2.4.安装mongo容器

docker run -d --name mongo \
-p 27017:27017 --restart=always \
-v /mydata/mongo:/etc/mongo \
-v /mydata/mongo/data/db:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=root \
-e MONGO_INITDB_ROOT_PASSWORD=123qwer! \
-e TZ=Asia/Shanghai \
mongo



2.2.5.安装nacos容器

-- 1.创建自定义配置文件夹
mkdir -p /mydata/nacos/conf

-- 2.创建自定义配置文件
touch /mydata/nacos/conf/custom-config.yaml

-- 3.运行nacos容器
docker run \
  --name nacos-server \
  -p 8848:8848 \
  -p 9848:9848 \
  -p 9849:9849 \
  -v /mydata/nacos/data:/home/nacos/data \
  -v /mydata/nacos/conf/custom-config.yaml:/home/nacos/init.d/custom-config.yaml \
  -e MODE=standalone \
  -d nacos/nacos-server



2.3.数据准备

2.3.1.mysql表结构创建

sql代码过多,直接写到项目的根目录的sql文件夹下面的了,目前只有mxun-sys这个数据库


2.3.2.mongo数据结构

-- mongo不需要显示的创建出表结构数据,我这里就把大概的表结构给出来

session: 	会话集合
	sessionId: 	会话ID
	title: 		会话标题
	users: 		创建用户ID
	startTime: 	会话开始时间
	messages: 	消息列表
		messageId: 	消息ID
		role: 		发送者
		content: 	会话内容
		sendTime: 	发送时间
		metadata: 	扩展信息
			type: 		信息类型(image, pdf, audio, video)
			source: 	扩展信息内容
				url: 		图片地址
				fileId: 	文件ID
				duration: 	持续时间



2.3.3.获取阿里短信密钥

-- 根据这个链接地址然后开通就行
https://market.aliyun.com/apimarket/detail/cmapi00037170#sku=yuncode31170000018



2.3.4.获取通义千问AI密钥

-- 进入这个页面可以自己尝试摸索开通一下aiKey
https://www.aliyun.com/product/bailian?spm=0.29160081.0.0.45872943b8ZnAG

-- 这个页面应该有直接创建aiKey这些功能
https://bailian.console.aliyun.com/?spm=a2c4g.11186623.0.0.bc43453aZERtRx&apiKey=1#/api-key



2.4.运行项目

2.4.1.克隆项目

-- 克隆后端项目
git clone https://github.com/lzlandtll/mxun.git

-- 克隆前端项目
git clone https://github.com/lzlandtll/mxun-web.git

-- 克隆完成之后使用相应的工具打开
-- 提示: 项目使用的jdk17,这个版本以下的应该跑不起来



2.4.2.修改后端配置文件

1.修改mysql连接信息
2.修改redis连接信息
3.修改mongo连接信息
4.修改nacos连接地址
5.修改短信配置
6.运行项目(建立在maven依赖,jdk这些没有问题的情况下)



2.4.3.运行前端项目

-- 1.安装依赖
pnpm install

-- 2.运行项目
npm run dev

-- 3.打开前端页面注册账号,进行使用即可



2.4.4.运行效果

该视频使用的AI密钥已经被我删除,请使用自己的AI密钥

AI集成效果

你可能感兴趣的:(微服务,架构,云原生,spring,cloud)