前言
今天给大家介绍一款 前端由uniapp开发的小程序,完美在小程序上运行,对话采用流式对话。后端由springboot+springai开发的应用软件源码。
功能简介
- 支持在管理后台动态新增"DeepSeek","openai","千帆","智谱",等厂商的大模型。
- 支持在管理后台动态新增AI应用。
- 支持 "文本"和 "绘画" 。
- 支持流式对话,动态调优AI应用的prompt提示词,历史对话轮数,System Role等大模型属性。
- 内置AI应用的提示词都是大厂优化的提示词,有相当高的参考价值。
截图演示
小程序内置的AI应用截图

用dall-e-3 模型 绘画演示图

用 deepseek 测试文本聊天截图:

小程序 动态 切换模型截图

管理后台配置的大模型截图:

后台管理的应用列表截图

视频演示
https://githubs.xyz/show/c3cde6e3-8377-44ca-8ff0-87754094c938.mp4
系统技术介绍
程序前端采用uniapp代码编写, 完美在小程序运行。对话采用了websocket实现流式对话。前端代码截图如下:

管理后台采用了VUE3

后端采用了SpringBoot3 + SpringAI ,版本如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.aiwaiter</groupId>
<artifactId>ai-waiter-app</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ai-waiter-app</name>
<description>ai-waiter-app</description>
<properties>
<java.version>17</java.version>
<spring-ai.version>1.0.0-SNAPSHOT</spring-ai.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-qianfan</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-zhipuai</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>
//.......
</project>
熟悉springai的同学都知道,大模型的apikey都是直接配置到yml中的,是无法做到动态在管理后台配置的。所以本人没有用到自动装配,而是通过内部的动态构建Client方式。
整体源码,我已经整理清楚,移步获取:
gitcode.典康姆/hadluo2/AI.git
项目部署步骤
项目包构建
由于阿里镜像的maven无法下载 spring-ai 相关的jar包。本人也将下载好的仓库打包到源码里面了, 用户自己构建时,记得替换仓库。
如果用户自己能搭飞机,用默认的maven的settings配置,也可以自己下载jar。
数据库
数据库采用了mysql8 ,用户需要自行安装mysql,然后将源码中的sql文件导入到数据库。

安装Redis
项目登录相关用到了redis,需要用户自行安装redis。

启动后端
启动前请检查yml配置是否正确。然后等待项目构建完成后,找到 AiWaiterAppApplication 类, 然后启动就可以了,项目启动占用8999端口。

管理后台端启动
node版本:v22.12.0
npm install
npm run dev

小程序端启动
直接将项目导入到hbuilder里面,然后安装微信开发者工具,然后运行就可以了,也可以直接运行在浏览器中。

结尾语
关注我,我将分享多更AI相关的知识。