ubuntu22.04源码部署maxkb

ubuntu22.04源码部署maxkb
钱涛源码下载
从maxkb项目中拉取最新源码.
前端依赖
Nodejs
前端依赖下载需要使用较高版本的Nodejs,使用apt查看可下载的Node的版本信息
1 | apt list -a nodejs |
发现没有较新的22版本,运行下面的命令
1 | curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - |
下载源
安装好npm后,需要配置npm源,建议使用以下命令添加国内源
1 | npm config set registry https://registry.npmmirror.com |
安装依赖
使用以下命令安装前端所需依赖
1 | cd ui # 需要先切换至ui目录 |
后端依赖
python
python版本不能低于3.11,使用以下命令进行安装
1 | sudo apt update # 更新系统包列表 |
poetry
通过以下命令进行安装
1 | pip install poetry==1.8.5 |
安装依赖
使用以下命令安装后端所需依赖(需要较长时间)
1 | cd .. # 需要先切换至项目根目录 |
Postgresql(数据库)
安装Postgresql
1 | sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' |
更新密码
使用下面命令进入psql, 并更新管理员用户密码
1 | sudo -u postgres psql |
输入\q
退出
安装插件
执行以下指令,安装vector插件
1 | cd /tmp |
如果make命令报错,可能需要额外安装gcc和make工具:
1 | apt install make gcc |
创建数据库
使用psql -h localhost -U postgres
输入密码并登录数据库,按行执行下面的sql
1 | CREATE DATABASE "maxkb"; |
配置文件
将项目根目录下的config_example.yml
配置文件拷贝至/opt/maxkb/conf目录下
1 | sudo mkdir -p /opt/maxkb/conf |
修在/opt/maxkb/conf/config_example.yml
内容如下(如果按照的是上面的步骤,则只需要修改 DB_USER: postgres和 DB_PASSWORD: 123123)
1 | # 数据库链接信息 |
启动
启动后端
1 | python3 main.py start |
如果抛出异常,可能是有些库没有安装。执行以下指令,安装缺少的库
1
pip install -r requirements.txt
启动前端
需要在ui
目录下启动
1 | cd ui |
通过浏览器打开http://localhost:3000/ui/
, 可以看到Maxkb的登录页面(第一次启动可能需要较长时间)
1 | 用户名:admin |
解除限制
需要修改以下文件
user_serializers.py
修改文件: apps/users/serializers/user_serializers.py
修改位置: 注释掉valid_license
修饰器。分别大概在188、775行左右
修改后:
application_serializers.py
修改文件: apps/application/serializers/application_serializers.py
修改位置: 注释掉valid_license
修饰器。分别大概在513、720行左右
修改后:
dataset_serializers.py
修改文件: apps/dataset/serializers/dataset_serializers.py
修改位置: 注释掉valid_license
修饰器。大概在412行左右
修改后:
valid_serializers.py
修改文件: apps/setting/serializers/valid_serializers.py
修改位置: 将count数量调整为999999
, 注释掉valid的判断过程,直接返回True
修改后:
Ollama
安装
执行以下命令,安装ollama
1 | curl -fsSL https://ollama.com/install.sh | sh |
添加模型
浏览器打开MaxKB主界面
依次点击系统设置
,模型设置
,添加模型
填写以下信息(API Key没有的话可以随便写)