一款基于 SpringAI 和 AIGC 的问答系统, 采用 RAG 架构,可以和基于 Spring 体系的业务系统进行无缝集成

一款基于 SpringAI 和 AIGC 的问答系统, 采用 RAG 架构,可以和基于 Spring 体系的业务系统进行无缝集成。
1.主要依赖[td]

模块 版本 说明
OpenJDK 20 JDK >=18
智谱大模型 https://open.bigmodel.cn/
SpringAI 1.0.0-SNAPSHOT https://docs.spring.io/spring-ai/reference/index.html
ElasticSearch 8.17.0 https://www.elastic.co/elasticsearch
MariaDB >=10.0 https://mariadb.org/

2.准备工作2.1 选择一个大模型

MindMark 已经测试了 Gitee 和 Zhipu 的大模型。

[td]

模型 说明
Gitee 大模型 前往 https://ai.gitee.com/ 注册并获得一个 api-key
智谱大模型 在智谱大模型注册并完成实名认证,然后获得一个 api-key ,https://open.bigmodel.cn/ 。
把获得的 api-key 配置到 mindmark-llm-connector/src/main/resources/application.yml 中,SpringAI 支持同时配置多个模型。

2.2 ElasticSearch 安装配置

拉取 Docker 镜像:
  1. docker pull docker.elastic.co/elasticsearch/elasticsearch:8.17.0

复制代码

启动容器:

  1.   docker run -d –name elasticsearch \
  2.   -e “discovery.type=single-node” \
  3.   -e “xpack.security.enabled=false” \
  4.   -e “xpack.security.transport.ssl.enabled=false” \
  5.   -e “xpack.security.http.ssl.enabled=false” \
  6.   -e “ES_JAVA_OPTS=-Xms8g -Xmx8g” \
  7.   -p 9200:9200 \
  8.   -p 9300:9300 \
  9.   docker.elastic.co/elasticsearch/elasticsearch:8.17.0

复制代码

请注意:以上启动方式禁用了 SSL ,这是为了本地开发方便,对于生产系统,请启用 SSL 。
观察启动日志
  1. docker logs -f elasticsearch

复制代码

打开浏览器,测试 ElasticSearch 是否正常运行:
http://192.168.0.105:9200/
安装 Kibana 图形界面并连接 ElasticSearch
  1. docker run -d –name kibana -p 5601:5601 –link elasticsearch:elasticsearch docker.elastic.co/kibana/kibana:8.17.0

复制代码

观察启动日志
  1. docker logs -f kibana

复制代码

打开浏览器,测试 Kibana 是否正常运行: http://192.168.0.105:5601/
其它安装配置方式请参考 ElasticSearch 官方文档: https://hub.docker.com/_/elasticsearch/

2.3 MariaDB 安装配置

省略 MariaDB 安装配置过程, MySQL 也可以。
在你的 MariaDB 中创建一个数据库,名称为 mind-mark ,然后把此项目下的 /docs/mind_mark.sql 导入进去,这些是 MindMark 自己使用的表。
检查一下初始数据,mind_mark_rbac_user 和 mind_mark_user_index 这两张表中应该分别有一行初始数据。
PDM 模型如下:

 3. 启动项目

  • 拉取本项目
  • 修改配置文件(application.yml 和 application-druid.yml 中有一些配置项需要改成你自己的配置)
  • 启动 MindMarkApplication.java
备注:在启动和运行时,如果看到异常信息可以无视,因为日志级别配置成了 TRACE ,只要能够正常访问即可。

4.测试效果4.1 准备数据

MindMark 能够监控两种类型的数据:
  • 监控其它数据库中的表,把表中的数据全部向量化。
  • 监控文件,解析文件中的内容并向量化。

4.1.1 让 MindMark 监控指定的数据库表

你可以指定 MindMark 监控其它数据库中的表, MindMark 会把你指定的表中的所有数据全部向量化,并存储到 ElasticSearch 中,处理过程会分页处理。
注意:在 MindMark 当前的实现中,被监控的表必须带有自增主键,否则 MindMark 无法把表中的数据进行向量化,因为不能记录已经处理了哪些数据行,在后续的版本中再考虑改进。你需要按照自己的情况,指定 MindMark 去监控哪个库中的哪张表,如果不提供这些配置, MindMark 不会监控任何数据库。

4.1.2 让 MindMark 监控文件

你可以通过 MindMark 的文件上传接口上传一些文件, MindMark 会把这些文件全部向量化,并存储到 ElasticSearch 中。目前支持的文件格式有:pdf/txt/markdown/doc/docx/ppt/pptx/xls/xlsx/json 。

4.2 测试接口MindMark 对应的前端项目(附件中包含前端源码)

也可以使用 Postman 来测试接口。

直接用 Chrome 浏览器也可以测试。

5.系统架构

下载说明:
1.本站资源都是白菜价出售,同样的东西,我们不卖几百,也不卖几十,甚至才卖几块钱,一个永久会员能下载全站100%源码了,所以单独购买也好,会员也好均不提供相关技术服务。
2.如果源码下载地址失效请联系站长QQ进行补发。
3.本站所有资源仅用于学习及研究使用,请必须在24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担。资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您权益请联系本站删除!
4.本站站内提供的所有可下载资源(软件等等)本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发);但本网站不能保证资源的准确性、安全性和完整性,由于源码具有复制性,一经售出,概不退换。用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug;同时本站用户必须明白,【安安资源网】对提供下载的软件等不拥有任何权利(本站原创和特约原创作者除外),其版权归该资源的合法拥有者所有。
5.请您认真阅读上述内容,购买即以为着您同意上述内容,由于源码具有复制性,一经售出,概不退换。
安安资源网 » 一款基于 SpringAI 和 AIGC 的问答系统, 采用 RAG 架构,可以和基于 Spring 体系的业务系统进行无缝集成