MaxKB二次开发
一、版本
| 组件 | 版本 |
| 系统 | ubuntu 22.0.4 |
| Python | 3.11.15 |
| Node.js | v20.20.2 |
| npm | 10.8.2 |
| PostgreSQL | 17 |
| pgvector | 0.8.4 |
| Redis | 6.0.16 |
二、系统初始化
1. 更新系统
apt update apt upgrade -y安装基础工具
apt install -y \ git \ curl \ wget \ vim \ build-essential \ zlib1g-dev \ libncurses5-dev \ libgdbm-dev \ libnss3-dev \ libssl-dev \ libreadline-dev \ libffi-dev \ libsqlite3-dev \ libbz2-dev \ software-properties-common| 软件 | 作用 | 常见用途 |
|---|---|---|
git | 代码版本管理工具 | 拉取 GitHub/Gitee 项目、提交代码 |
curl | 网络请求工具 | 调 API、下载脚本、测试服务接口 |
wget | 文件下载工具 | 下载软件包、模型、安装文件 |
vim | Linux 文本编辑器 | 修改配置文件 |
build-essential | C/C++ 编译环境 | 编译源码、安装 Python 包依赖 |
software-properties-common | 软件源管理工具 | 添加 PPA 源、管理 apt 仓库 |
三、安装 Python 3.11
Ubuntu 22.04 默认 Python 3.10。我是通过deadsnakes PPA 安装
1、添加 PPA 并更新源
add-apt-repository ppa:deadsnakes/ppa apt update2、安装Python3.11
apt install python3.11建议同时安装开发头和虚拟环境支持:
apt install python3.11-dev python3.11-venv3、验证是否为3.11.x
python3.11 --version四、pip安装uv
Ubuntu 22.04 默认没有 pip:
先安装:
apt update apt install python3-pip -y检查:
pip3 --version安装 uv:
pip3 install uv检查:
uv --version五、安装 PostgreSQL
1、添加 PostgreSQL 官方仓库
安装依赖:
apt update apt install -y curl ca-certificates gnupg添加 PostgreSQL GPG Key:
install -d /usr/share/postgresql-common/pgdg curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc \ --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc添加 Ubuntu 22.04 jammy 仓库:
sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] \ https://apt.postgresql.org/pub/repos/apt jammy-pgdg main" \ > /etc/apt/sources.list.d/pgdg.list'更新:
apt update2. 安装PostgreSQL 17
apt install -y postgresql-17 postgresql-client-17安装完成检查:(正常 psql (PostgreSQL) 17.x)
psql --version查看:
systemctl status postgresql设置开机启动:
systemctl enable postgresql3、安装pgvector 扩展包
apt install postgresql-17-pgvector重启服务
systemctl restart postgresql4、查看 PostgreSQL 17 集群
pg_lsclusters正常应该类似:
Ver Cluster Port Status Owner 17 main 5432 online postgres5、 创建数据库
进入:
sudo -u postgres psql执行:
CREATE USER maxkb WITH PASSWORD '你的密码'; CREATE DATABASE maxkb OWNER maxkb; ALTER USER maxkb CREATEDB;切换到maxkb数据库
\c maxkb给 maxkb 用户授权 public schema
GRANT ALL ON SCHEMA public TO maxkb;修改 schema 所属用户
ALTER SCHEMA public OWNER TO maxkb;给 maxkb 数据库全部权限
GRANT ALL PRIVILEGES ON DATABASE maxkb TO maxkb;创建 pgvector 扩展
CREATE EXTENSION "vector";测试:
psql \ -h 127.0.0.1 \ -p 5432 \ -U maxkb \ -d maxkb六、安装 Redis
apt install redis-server -y启动:
# 启动 Redis 服务 systemctl start redis-server # 设置开机自启 systemctl enable redis-server # 查看服务状态 systemctl status redis-server测试:
redis-cli ping返回:pong
七、安装 Node.js
MaxKB 前端需要。下载并运行NodeSouce安装脚本(针对node.js 20)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -安装:
apt install -y nodejs查看:
node -v npm -v八、运行代码
1、拉取MaxKB源码
github链接:https://github.com/1Panel-dev/MaxKB
我是下载了zip包,然后再解压
安装unzip
apt update apt install unzip解压
unzip your_file.zip2、运行后端
① 配置文件(MaxKB v2没有配置文件,我是参考v1的)
mkdir /opt/maxkb/conf cd /opt/maxkb/conf vim config.yml把下面的内容拷到config.yml,并改成对应的
#数据库配置
B_HOST: 127.0.0.1
DB_PORT: 5432
DB_NAME: maxkb
DB_USER: maxkb
DB_PASSWORD: 你的密码
DB_ENGINE: dj_db_conn_pool.backends.postgresql
DB_MAX_OVERFLOW: 80#redis配置
REDIS_HOST: 127.0.0.1
REDIS_PORT: 6379
REDIS_PASSWORD: "" #前面安装redis的时候我没有设置密码
REDIS_DB: 0
REDIS_MAX_CONNECTIONS: 100LOCAL_MODEL_HOST: 127.0.0.1
LOCAL_MODEL_PORT: 11434
LOCAL_MODEL_PROTOCOL: http
LOCAL_MODEL_HOST_WORKER: 1
EMBEDDING_MODEL_NAME: maxkb-embedding
EMBEDDING_MODEL_PATH: /opt/maxkb-app/model/embeddingLANGUAGE_CODE: zh-CN
DEBUG: true
TIME_ZONE: Asia/ShanghaiADMIN_PATH: /admin
CHAT_PATH: /chatSESSION_TIMEOUT: 28800
EMBEDDING_MODEL_NAME: maxkb-embedding
EMBEDDING_MODEL_PATH: /opt/maxkb-app/model/embedding
这是我从docker里面拷出来的
通过网盘分享的文件:max-app.zip
链接: https://pan.baidu.com/s/17DHO25pqw0xbR3E25ohCmg?pwd=0000 提取码: 0000
② 创建虚拟环境
进入 MaxKB 根目录:
例如:
cd /root/MaxKB-2删除旧环境(如果之前 pip 创建过):
rm -rf .venv使用 uv 创建:
uv venv --python 3.11③ 安装依赖(依赖文件:/MaxKB-2/pyproject.toml )
uv sync安装完成查看:
uv pip list④ 激活环境
source .venv/bin/activate看到:
(MaxKB-2)运行python
python main.py dev查看8080端口是否开启
ss -tuln | grep :80803、运行前端
进入:
cd /root/MaxKB-2/ui①安装:
npm install②启动:(对应配置文件:/env.env )
npm run dev③ 启动对话(对应配置文件:/env.chat)
npm run chat④ 浏览器访问
http://localhost:3001/
用户名:admin
密码:MaxKB@123..
