通过SparkX搭建属于自己的知识库系统

221 阅读3分钟

现在AI正火,AI也在潜移默化的改变我们的生活,我们也可以通过AI解决很多生活中的问题。但实际通用的AI在处理特定的专业知识的时候,要不就是回答的过于宽泛,要不就是回答的问题幻觉很严重。那怎么样能解决这些问题呢,答案就是通过知识库扩展AI的能力。我们在让AI回答特定的专业知识的时候,给AI一些知识参考,这个时候 AI 就可以更加准确的回答问题了。

知道如何去解决问题了,那我们就可以寻找对应的解决方案了。现在 gitee 上开源了一款基于 Springboot3 开发的 基于大语言模型和 RAG 的知识库问答系统。开箱即用、模型中立、灵活编排,支持快速嵌入到第三方业务系统。它就是 SparkX。我们可以在 gitee 和 github 免费获取它

gitee.com/shop-sparke…

github.com/nick-bai/Sp…

那如何部署这个系统呢。本文我们先介绍两种docker部署的方式

一、通过官方docker镜像一键docker部署

这也是最轻松的方式,如果我们只是单纯的使用,这点足够了。无需我们准备繁琐的环境和自主的编译。主要通过如下三步就可以轻松的搭建并使用。

1、下载源码到本地

 git clone https://gitee.com/shop-sparker/spark-x.git

2、进入到 sparkx的 docker 目录下执行

 docker compose up -d
 

等待 docker执行完毕,并且 全绿退出。我们便可以在 Docker Desktop上看到拉取的 镜像和 创建的 容器

image.png

image.png

其中 sparkx-frontend为前端 页面,sparkx-backend为后端api接口。此时我们打开浏览器访问

http://localhost:8189

则可以见到如下页面

image.png

输入 账号 admin和 密码 admin即可以使用
服务器通过 nginx反向代理 http://localhost:8189 即可实现绑定域名的访问服务了

二、自主编译并通过docker本地部署

如果您不想使用官方的镜像,或者你自己有做了修改,或者进行了端口的修改等一系列自主的修改的方式,想构建自己的镜像,可以采用如下的步骤。当然进行自主编译的前提使我们的本地环境准备完毕。

本地环境要求 JDK17、NodeJs 18+、IDEA、WebStorm 。这些工具和环境准备齐全以后就可以如下的步骤

1、编译jar包 image.png 1)、通过IDEA打开下载目录的 server目录,等待工具索引
2)、通过 maven点击拉去项目依赖
3)、点开 maven 找到 Lifecycle 点击 clean进行清理,然后点击 package进行打包
4)、找到 sparkx-web项目下的 target中的 sparkx-web-xxx.jar,把他复制出来 ,放到 docker 目录下的 backend 目录下

image.png

2、编译前端dist

image.png

通过webstorm打开工程,并通过

npm i

命令完成依赖的安装。然后执行如下的打包命令

 npm run build
 

打包出的编译文件在 dist 中,把这个 dist 目录复制出来,放到 docker 目录下的 frontend 目录下

image.png

最后执行

 docker compose -f docker-compose-local.yml up -d
 

等待构建完成即可。

经过这两个步骤之后,您就可以愉快的使用 SparkX 了。同时也衷心的希望大家多多的给予Star 的支持。我们接下来还会更新更多、更强大的功能。