基于 Spring AI 框架开发AI知识库项目

开源项目分享

前段时间学习 Spring AI 框架,自己写了一个基于Spring AI 框架的 AI知识库项目(项目的前身是小谷同学)。 欢迎大家一起交流学习,也希望大家帮忙点个免费的Star。

一、项目简介

RuoYi-RAG 是一个基于 Spring AI 框架开发的 AI 知识库检索增强生成(RAG)系统的服务端。该系统为 AI知识库管理系统 和 AI知识库用户端 提供接口服务,支持多种 AI 模型进行知识检索和问答,并引入SearXNG搜索引擎、Neo4j知识图谱、mcp服务(高德地图、邮件、数据库)来增强大模型回答能力,使模型回答更丰富、更准确、更及时。 请添加图片描述

二、功能展示

1、管理后台(项目管理、知识库管理已经移动到用户端)

  • 项目管理 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

  • 知识库管理

2、用户端

  • 聊天记录 image.png
  • 项目管理 image.png
  • 知识库管理

image.png

三、从代码仓库拉取代码到本地

  • 服务端
▼
html
复制代码
github: https://github.com/zhaoshibao/ruoyi-rag.git 码云: https://gitee.com/ZhaoShiBao/ruoyi-rag.git
  • 管理后台
▼
html
复制代码
github: https://github.com/zhaoshibao/ruoyi-rag-admin.git 码云: https://gitee.com/ZhaoShiBao/ruoyi-rag-admin.git
  • 用户端
▼
html
复制代码
github: https://github.com/zhaoshibao/ruoyi-rag-web.git 码云: https://gitee.com/ZhaoShiBao/ruoyi-rag-web.git

四、启动服务端

  • 修改ruoyi-admin模块下配置文件

1、修改application.yml 配置文件

1.1 修改redis配置(我本地使用的redis windows 7.0.6版本,小伙伴们自行安装)

2、修改application-chat.yml 配置文件

2.1 修改Spring AI 配置
  • 在同级目录下新增.env文件,格式如下
▼
html
复制代码
OPEN_AI_API_KEY=xxxxxxxx ZHIPUAI_API_KEY=xxxxxxxx GAODE_API_KEY=xxxxxxxx

  • 安装Ollama

windows安装包下载地址:https://ollama.com/download/OllamaSetup.exe

▼
text
复制代码
点击安装:按照提示一直下一步即可

ollama运行成功之后,默认端口号是11434,浏览器访问本机11434端口,展示下图文字证明安装成功

然后我们就可以到ollama官网找到合适的模型,下载到本地使用了

官网地址:https://ollama.com/

这里以下载通义千问2 7b大模型为例

打开官网搜索qwen2,点击搜索结果中红框中的搜索结果

  • 选择 qwen2:7b
  • 复制命令在本地cmd窗口执行

  • 执行ollama run qwen2:7b 命令就可以和大模型聊天了

2.2 修改向量数据库配置

  • 我这里使用的是qdrant向量数据库
  • qdrant使用docker安装命令如下:
▼
html
复制代码
docker run -d ^ --name qdrant ^ -p 6333:6333 -p 6334:6334 ^ -v D:\\Resource\\docker\\storage\\qdrant:/qdrant/storage:z qdrant/qdrant
  • 容器启动后,qdrant向量数据库就可以使用了

2.3 修改mcp客户端配置

2.4 修改联网搜索配置

安装参考文章:

https://juejin.cn/post/7475536893900832778

https://post.smzdm.com/p/aov4kd6m/

2.5 修改mongodb配置
  • mongodb使用docker安装命令如下:
▼
html
复制代码
docker run -d ^ --restart=always ^ -p 27017:27017 ^ --name mongodb ^ -v /opt/mongo/data/db:/data/db mongo:7.0.0
2.6 修改neo4j图数据库配置
  • neo4j使用docker安装命令如下:
▼
html
复制代码
docker run -d ^ --restart=always ^ --name neo4j-flf-5.7 ^ -p 7474:7474 -p 7687:7687 ^ -v E:\neo4j\import:/var/lib/neo4j/import ^ -v E:\neo4j\data:/var/lib/neo4j/data ^ -v E:\neo4j\conf:/var/lib/neo4j/conf ^ -v E:\neo4j\plugins:/var/lib/neo4j/plugins ^ -v E:\neo4j\logs:/var/lib/neo4j/logs ^ -e NEO4J_AUTH=neo4j/ruoyiRag123456 ^ -e NEO4J_dbms_default__database=ruoyiRag ^ -e NEO4J_PLUGINS="[\"apoc\",\"graph-data-science\"]" ^ -e NEO4J_dbms_security_procedures_unrestricted=apoc.*,gds.* ^ -e NEO4J_dbms_security_procedures_allowlist="apoc.*,gds.*" ^ -e NEO4J_server_config_strict__validation_enabled=false ^ -e NEO4J_ACCEPT_LICENSE_AGREEMENT=yes ^ -e NEO4J_dbms_security_auth_enabled=false ^ neo4j:5.7.0-enterprise

3、修改application-druid.yml 配置文件

  • 修改mysql配置(我本地使用的mysql windows 8.0.33版本,小伙伴们自行安装)

4、导入sql文件

  • 打开navicat 创建ruoyi_rag数据库并执行ruoyi_rag.sql 文件

5、使用idea开发工具启动服务端

五、启动MCP服务端

1、修改application.yml配置文件

1.1 修改数据库配置

1.2 在同级目录下新增.env文件,格式如下
▼
html
复制代码
MAIL_USERNAME=xxxxxxxx MAIL_PASSWORD=xxxxxxxx
1.3 使用idea开发工具启动mcp服务端

六、启动管理后台

  • 进行项目文件夹下执行命令
▼
html
复制代码
安装依赖 npm install 启动开发服务器 npm run dev

七、启动用户端

  • 进行项目文件夹下执行命令
▼
html
复制代码
安装依赖 npm install 启动开发服务器 npm run dev

八、其他服务

1、 PDF增强解析服务

如果项目开启pdf增强解析,需要安装Tesseract-OCR服务进行orc识别。这里以windows系统安装为例,其他系统自行研究安装

  • 下载Tesseract-OCR windows版本
▼
html
复制代码
https://github.com/UB-Mannheim/tesseract/releases/download/v5.4.0.20240606/tesseract-ocr-w64-setup-5.4.0.20240606.exe
  • 点击安装:按照提示一直下一步即可
  • 添加TESSDATA_PREFIX的环境变量,设置为安装目录下的tessdata目录 。

我这里安装路径是:E:\Tesseract-OCR\tessdata

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
AI编码者
下载 APP