RAG平台,知识库管理
1 部署要求
1.1 服务器配置
部署服务器要求:
操作系统:Ubuntu 22.04 / CentOS 7.6 64 位系统
CPU/内存:4C/8GB 以上
磁盘空间:100GB
1.2 端口要求
在线部署 MaxKB 需要开通的访问端口说明如下:
2 在线快速部署
MaxKB 支持一键启动,仅需执行以下命令:
# Linux 操作系统
docker run -d --name=maxkb --restart=always -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages registry.fit2cloud.com/maxkb/maxkb
# Windows 操作系统
docker run -d --name=maxkb --restart=always -p 8080:8080 -v C:/maxkb:/var/lib/postgresql/data -v C:/python-packages:/opt/maxkb/app/sandbox/python-packages registry.fit2cloud.com/maxkb/maxkb
待所有容器状态显示为healthy
后,可通过浏览器访问 MaxKB:
http://目标服务器 IP 地址:8080
默认登录信息
用户名:admin
默认密码:MaxKB@123..
3 在线升级
根据以下步骤依次执行进行升级:
(1) 下载最新镜像
docker pull registry.fit2cloud.com/maxkb/maxkb
(2)查看并确认上一次数据持久化目录,复制保存
docker inspect maxkb
(3)删除正在运行的、旧版本的 MaxKB 容器
docker rm -f maxkb
(4)启动并运行新版本的 MaxKB 容器
注意: 务必确认数据持久化目录(即命令行中 -v后的目录)要跟第 (2) 步查看目录保持一致,否则启动后整个系统的数据为空。
docker run -d --name=maxkb --restart=always -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages registry.fit2cloud.com/m
4、源码部署
1、官方拉取代码
请使用最新分支
https://github.com/1Panel-dev/MaxKB.git
2、本地环境配置
严格遵守版本号
前端环境准备
安装 node ,v16及以上版本
后端环境准备
安装 python ,版本 v3.11.x
安装 pycharm
数据库
安装 PostgreSql ,版本 v15.x
3、PostGres使用docker部署自带vector版本的
避免手动安装环境配置,vector编译等操作。
docker run -d --name pgvector-pg15 -e POSTGRES_USER=root -e POSTGRES_PASSWORD=wkm123. -e POSTGRES_DB=maxkb -p 5433:5432 pgvector/pgvector:pg15
# 创建数据库 如启动时初始化了你所需要的数据库则省略创建数据库的步骤
CREATE DATABASE "maxkb";
# 切换使用数据库
\c "maxkb";
# 创建vector 扩展
CREATE EXTENSION "vector";
4、配置文件
项目启动之前,需要准备配置文件及目录
准备配置文件
# 将config_example.yml配置文件拷贝至 /opt/maxkb/conf目录下
cp config_example.yml /opt/maxkb/conf
配置 /opt/maxkb/conf/config_example.yml
# 数据库配置(将以下信息替换为实际环境信息)
DB_NAME: maxkb
DB_HOST: localhost
DB_PORT: 5432
DB_USER: root
DB_PASSWORD: xxx
DB_ENGINE: django.db.backends.postgresql_psycopg2
# 模型相关配置
# 模型路径:如果EMBEDDING_MODEL_NAME是绝对路径则无效,反之则会从https://huggingface.co/下载模型到当前目录
EMBEDDING_MODEL_PATH: /opt/maxkb/model/
# 模型名称:如果模型名称是路径,则会加载目录下的模型,如果是模型名称,则会在https://huggingface.co/下载模型 模型的下载位置为EMBEDDING_MODEL_PATH
EMBEDDING_MODEL_NAME: /opt/maxkb/model/shibing624_text2vec-base-chinese
5、开发调试
启动前端
# 在 `ui`目录 执行安装前端需要的依赖
npm install
# 然后启动项目
npm run dev
启动后端
# 安装 poetry 包管理器
pip install poetry
# 安装后端需要的依赖
poetry install
* 注意:如果在国内安装,需要配置 poetry 的源,否则下载非常慢,经常无法正常安装,配置命令为:`poetry source add --priority=primary mirrors http://mirrors.aliyun.com/pypi/simple`
# 启动项目
python main.py start 开发环境为python main.py dev
# 启动项目
python main.py dev local_model
# 启动项目
python main.py dev celery
访问项目
localhost:3000/ui
5、centos7源码部署
1、node环境
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"
# Download and install Node.js:
nvm install 16
# Verify the Node.js version:
node -v # Should print "v16.20.2".
nvm current # Should print "v16.20.2".
# Verify npm version:
npm -v # Should print "8.19.4".
2、python环境安装
CentOS 7 的官方仓库 没有 Python 3.11,因此需要从源代码编译。
安装编译需要的依赖
sudo yum groupinstall "Development Tools" -y
sudo yum install gcc openssl-devel bzip2-devel libffi-devel -y
在官方库下载合适的python版本
进入目录
cd /usr/local/src
下载包
https://www.python.org/downloads/source/ 下载好之后放到上面那个文件夹
解压包
tar -xvf yourpython.xz
进入解压的python文件夹
cd yourpython
运行配置脚本,指定安装路径(比如 /usr/local/python3.11,你可以修改为其他目录)
./configure --prefix=/usr/local/python3.11
编译
make
安装pyhon
sudo make altinstall (使用 altinstall 是为了避免覆盖系统默认的 Python 版本。)
更新环境变量
nano ~/.bashrc
文件末尾添加
export PATH=/usr/local/python3.11/bin:$PATH
然后运行
source ~/.bashrc
验证安装
python3.11 --version
可以创建虚拟环境
/usr/local/python3.11/bin/python3.11 -m venv ~/myenv
激活环境
source ~/myenv/bin/activate
3、编译镜像
docker build -t maxkb-wkm:v1.0 -f installer/Dockerfile .
如果docker有镜像拉不下来使用国内镜像
vi /etc/docker/deamon.josn
清华:
https://mirrors4.tuna.tsinghua.edu.cn/
如果本地启动编译过则删除poetry.lock文件
如果需要导出镜像
docker save -o C:\Users\96322\Desktop\maxkb\maxkb-wkm.tar maxkb-wkm:v1.0
linux脚本
#!/bin/bash
path=$(cd `dirname $0`; pwd)
echo "-------------------------------------------"
echo "Install MaxKB"
echo "-------------------------------------------"
docker load -i $path/maxkb-wkm.tar
docker run \
-d \
--name maxkb-wkm \
--restart=always \
-p 8088:8080 \
-v ~/.maxkb-wkm:/var/lib/postgresql/data \
-v ~/.python-packages-wkm:/opt/maxkb/app/sandbox/python-packages \
maxkb-wkm:v1.0
windows脚本
docker run \
-d \
--name maxkb-wkm \
--restart=always \
-p 8088:8080 \
-v C:\maxkbself:/var/lib/postgresql/data \
-v C:\python-packages-self:/opt/maxkb/app/sandbox/python-packages \
maxkb-wkm:v1.0