maxKB是比较优秀的开源的AI知识库平台,通过学习该项目,可以迅速建立起来RAG工程实现的一切知识。工欲善其事必先利其器,现在本地搭建起来,方便分析代码!可参考官方文档开发环境搭建,但是不全,我在Windows10上把搭建过程记录下来,并成功搭建了maxkb在VSCode开发调试环境。如果你在搭建过程中遇到问题,可以给我留言交流呀。
Windows安装PostgreSQL以及vector扩展
- postgresql官网下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
我下载的是:postgresql-16.8-1-windows-x64.exe
安装时一步步安装就好,记得记住设置的密码:
-
下载Vector扩展
PGVector下载:https://pgxn.org/dist/vector/
我下载的版本是vector 0.8.0
下载后解压,解压后的根目录为 C:\Users\xxx\Downloads\vector-0.8.0(编译时在命令行会使用cd进入到这个路径,进行编译安装) -
编译并安装vector
在 Windows 上编译需要先下载 Visual Studio,下载链接:https://visualstudio.microsoft.com/zh-hans/
安装时勾选C++
安装完成后,使用管理员模式打开cmd,依次执行以下命令便能够完成安装
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" cd C:\Users\xxx\Downloads\vector-0.8.0 set "PGROOT=C:\Program Files\PostgreSQL\16" nmake /F Makefile.win nmake /F Makefile.win install
-
在 PostgreSql 中手动创建MaxKB应用数据库,名称为maxkb,并添加vector扩展
# 创建数据库 CREATE DATABASE "maxkb"; # 切换使用数据库 \c "maxkb"; # 创建vector 扩展 CREATE EXTENSION "vector";
MaxKb环境配置
1、环境准备
python >= 3.11.0 (必须!!!)
poetry
这里使用 conda 管理,conda的安装可参见AI开发利器:miniforge3无感平替Anaconda3
本项目目录在 D://project/MaxKB
-
在当前磁盘目录创建 opt和 tmp两个目录,如我现在的项目在 D盘,那么就创建在 D盘目录下。
创建配置文件:opt/maxkb/conf/config.yml# 数据库链接信息 DB_NAME: maxkb DB_HOST: 127.0.0.1 DB_PORT: 5432 # 填写你 postgres 的端口,默认 5432 DB_USER: postgres DB_PASSWORD: 123456 # 填写 postgres 的密码,安装时设置 DB_ENGINE: django.db.backends.postgresql_psycopg2 DEBUG: false TIME_ZONE: Asia/Shanghai # 模型路径:如果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
-
本地模型下载
程序中有安装模型的程序,如果想要下载本地模型,就在工程根目录下运行python installer/install_model.py
,但是我没有下载成功。
解决方案可以下载Maxkb的安装镜像,直接从镜像中把所有的本地的model导出来放到opt/maxkb/model/下镜像下载:https://community.fit2cloud.com/#/products/maxkb/downloads
传到centos服务器上安装tar -zxvf maxkb-v1.10.2-lts-offline.tar.gz cd maxkb-v1.10.2-lts-offline/ bash install.sh docker cp maxkb:/opt/maxkb/model /home/model # 拷贝到本地 zip -r model.zip /home/model/ # model打包 sz model.zip #拷贝出来
最终文件为下图所示:
-
本地运行
# 创建maxkb运行环境 conda create --name maxkb python=3.11 # 切换到虚拟环境 conda activate maxkb # 安装poetry python install poetry # 进入项目根目录 cd MaxKB-1.10.x-lts # 安装依赖 poetry install # 启动服务 python main.py dev
-
运行本地模型服务
# 新开一个命令行 conda activate maxkb # 运行本地模型服务 python main.py dev local_model
-
运行celery任务调度服务
# 新开一个命令行 conda activate maxkb # 运行celery任务调度服务 python main.py dev celery
-
启动前端,前提是在Windows环境下搭建Node和npm(Node.js的包管理工具)环境。
cd ui # 设置淘宝镜像源 npm config set registry https://registry.npmmirror.com # 安装依赖 npm install # 运行前端 npm run dev
VSCode开发环境搭建
-
前提VSCode需要安装python开发扩展
-
导入maxkb的MaxKB-1.10.x-lts
-
ctrl+shift+p搜索python:select interpreter,选择python解析器,之前创建的maxkb运行环境maxkb
-
配置程序调试
launch.json文件用于配置调试器的行为,根目录新建文件夹.vscode
,添加launch.json{ "version": "0.2.0", "configurations": [ { "name": "maxkb debug", "type": "debugpy", "request": "launch", "program": "main.py", "console": "integratedTerminal", "args": [ "dev", "" ], "env": { "PYTHONPATH": "$(workspaceFolder)" } } ] }
这样点击按钮,即可开启debug运行!
参考文章