L0
l0sgAi/ai-chat-demo
一个简单的通用对话智能体demo,使用SpringBoot和SpringAI实现大语言模型LLM的简单整合。
AI-CHAT DEMO
一个AI大模型聊天机器人项目
项目环境需求
node.jsjava21+redis(需要自行配置)MySQL8(需要自行配置)MySQL数据表,建表脚本为本项目的document目录下的db.sql文件- 支持
OpenAI标准的大模型API密钥 ElasticSearch,版本8.15.5
项目功能介绍
一个简单的AI大模型对话机器人项目。
使用SpringAI+SpringBoot+MySQL+Redis+ES开发,主要功能为:
- 基于
MySQL实现数据持久化管理。 - 支持简单的登录注册,
sa-token实现,集成Redis储存token。 - 包括聊天会话和聊天问答对,支持多用户。
- 支持对话记忆和聊天上下文。
- 使用虚拟线程异步方法实现对话。
- 使用
ElasticSearch作为向量储存实现RAG。 - 配置中心,可管理多个模型。(待实现)
- 支持对话的全局搜索。(待实现)
- 使用
RabbitMQ优化异步架构。(待实现)
项目启动
- 准备项目环境。
- 启动后端
SpringBoot项目。 - 启动前端项目。
- 浏览器访问
http://localhost:5173/(前端地址)。
项目使用注意事项
配置好环境后,需要先注册用户,登录后,即可开始使用。
请注意:
- 只有管理员用户(
roleId=1),才可以进入配置页面。 - 目前管理员没有注册方法,先随便注册一个账号,再在数据库里把
role字段改为1即可。
之后,还要在管理后台添加几个大模型。
1. 进入设置
- 登录管理员账号
- 点击右上角的"设置"按钮
2. 添加模型
- 在管理后台点击左上角"新增配置"
- 输入对应参数添加模型
3. 添加模型参数并保存
- 启用你想调用的模型
OpenAI标准,请保证你的API KEY是支持OpenAI标准的。
MCP说明
不同的模型对于工具调用的能力有差异,目前测试下来工具调用效果最好的模型为
qwen-plus-latest和qwen-turbo-latest,有的模型不支持SpringAI方式的工具调用,会报错,大家可以自己多尝试。
MCP需要开启对应的MCP Server,我已经上传至分支mcp-server中。
使用说明
- 拉取分支
mcp-server,配置自己的搜索API KEY,获取:tavily-home。 - 启动
mcp-server分支上的本项目。 - 启动
main分支上的本项目。
更新计划
- (2025-07-27) 数学公式渲染支持。
- (2025-07-27) 多模态模型支持,可以上传图片,并根据图片的内容进行输出。
- (2025-07-27) 全文检索会话。
- (2025-11-02) 知识库管理,只有管理员才能进入。
- (2025-11-02) RAG问答支持。
- (2025-11-11) MCP联网搜索支持。
- 图片生成支持,使用RabbitMQ实现异步处理。