本地源码方式部署启动MaxKB知识库问答系统,一篇文章搞定!
创作时间:
作者:
@小白创作中心
本地源码方式部署启动MaxKB知识库问答系统,一篇文章搞定!
引用
CSDN
1.
https://blog.csdn.net/weixin_50503886/article/details/139223782
MaxKB 是一款基于 LLM 大语言模型的知识库问答系统,旨在成为企业的最强大脑。它支持直接上传文档、自动爬取在线文档,支持文本自动拆分、向量化、RAG(检索增强生成),智能问答交互体验好。同时支持无缝嵌入到第三方业务系统,并支持对接主流的大模型。本文将详细介绍如何通过本地源码方式部署启动MaxKB知识库问答系统。
获取官方的源码
首先需要获取一下官方的源代码,这里建议直接就使用官方的最新发行版就可以。
Pycharm中的个性化配置
这里需要注意的一点是你的本地python环境需要是3.11.x的版本,这里我使用的是python3.11.9
pycharm集成开发环境中配置python环境地址
这里使用虚拟环境便于后期的依赖包管理,这里按照这样子配置就可以。
根目录下执行安装poetry包管理器
pip install poetry
配置连接数据库文件信息
准备配置文件
# 文件名:config_example.yml
# 数据库配置
DB_NAME: maxkb
DB_HOST: localhost
DB_PORT: 5433
DB_USER: root
DB_PASSWORD: shuyixiao
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
配置数据库
这里是重点一定要注意,由于数据库使用的是postgresql,这里真心不建议使用安装包安装,踩坑踩了很久,最后还是使用Docker的方式进行安装的。
编写postgresql打包文件
# Use the official PostgreSQL 15 image as a base
FROM postgres:15
# Install necessary packages and clone the pgvector repository
RUN apt-get update && \
apt-get install -y \
postgresql-server-dev-15 \
build-essential \
git && \
git clone https://github.com/pgvector/pgvector.git
# Build and install the pgvector extension
RUN cd pgvector && \
make && \
make install
# Clean up
RUN apt-get remove --purge -y \
build-essential \
git && \
apt-get autoremove -y && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /pgvector
# Set the default command to run when starting the container
CMD ["postgres"]
执行打包命令打包
一定要在文件所在目录下执行不然会报错
docker build --no-cache -t postgres-with-vector .
运行容器
由于我本地已经使用安装包的方式装了postgresql,所以这里使用5433端口
docker run --name my-postgres -e POSTGRES_USER=root -e POSTGRES_PASSWORD=shuyixiao -e POSTGRES_DB=maxkb -p 5433:5432 -d postgres-with-vector
验证安装:检查 pgvector 扩展文件是否安装正确
此命令应列出所有可用的扩展。专门查找 pgvector.control .
docker exec -it my-postgres ls /usr/share/postgresql/15/extension/
创建扩展:
docker exec -it my-postgres psql -U root -d maxkb -c "CREATE EXTENSION vector;"
验证扩展:
docker exec -it my-postgres psql -U root -d maxkb -c "\dx"
配置数据库信息
CREATE DATABASE "maxkb";
\c "maxkb";
CREATE EXTENSION "vector";
启动后端项目
需要注意一点就是要在跟目录下面执行
创建venv
这一步要是上面配置过pycharm的环境就不需要走这一步了
#win
python -m venv venv
#linux/mac
python3 -m venv venv
激活venv
#win
.\venv\Scripts\activate
#linux/mac
source venv/bin/activate
安装后端需要的依赖
poetry install
这里由于之前安装过,所以执行起来就很快
启动项目
python main.py start
启动前端项目
这里启动前端项目就比较简单,由于这个项目是使用vue3开发的,所以就是本地的node.js版本不能太低不然会报错
要是大家不知道如何动态切换本机的node版本可以查看我的另外一篇文章如何使用 nvm-windows 这个工具来管理你电脑上的Node.js版本
先在ui执行安装前端需要的依赖
npm install
启动项目
最后就是效果的展示
初始的账号admin 密码 MaxKB@123… 登录之后会提示你修改密码
踩坑与总结
- 首先部署时候一定要看官网的配置要求,数据库和python版本一定要对应上,不要太高或者太低。
- 数据库这块真心推荐使用docker的方式运行不然真的有的依赖真心难装。下面这个截图就是我之前本地部署时候总是出现的报错,好在最后通过docker方式部署数据库解决了
热门推荐
100个出自《论语》的女孩名字,优雅好听的女孩名字大全
周易起名方法详解:如何根据八字分析选择合适的名字
节后失去方向感了,怎么办?心理医生帮您走出迷茫
探索模具钢:冷作模具钢DC53基本特性及特点、热处理工艺与性能等
人类和猩猩基因组相似度高达98%,这到底是巧合还是进化的奇迹?
深入分析烟酰胺与维生素C的美白机制及效果比较
双胞胎抽血查胎儿性别准吗?什么因素会影响抽血查性别的准确性?
清明的历史有哪些?清明节的历史:从祭祖扫墓到现代民俗!
卸甲油用完了,柠檬汁真能平替卸美甲吗?事实没那么简单
全国“最强科室榜单”发布,广东常见病推荐去这些医院看
500万在北京能买什么房子?选择与策略详解
延续五年,除夕夜小朋友与消防员的温暖约定
揭秘鬼见愁植物(神秘的植物界新星)
阅读理解八大题型,掌握技巧轻松拿高分
地下水水温一般多少度?
媒体:DeepSeek出圈,促AI产业创新发展需规则来平衡
黄金回调还是突破?美元反弹后的金价技术面解析与未来走势展望
Excel中创建二维数组的三种方法
Excel二维表格创建指南:从结构设计到数据管理的十大步骤
【名曲鉴赏】肖斯塔科维奇《第二圆舞曲》:旋律中的情感诗篇
甲级战犯战争犯罪人:揭秘二战罪行,反省历史教训
深海生物学:深海底生物的自然史
具有强大防守能力的美军航母为何会撞上一艘商船?
编曲属于歌曲制作的哪个阶段 如何通过FL Studio制作完整的歌曲
羁绊的深意:情感联系的温暖与挑战如何平衡生活中的关系
国医大师李文瑞:诊治少阴病热化证(不寐、石淋、咽痛等)经验
利用光影变化表达情绪
《英雄联盟》遇不良行为?教你如何有效举报,共创和谐游戏环境
情侣约法三章的条例怎么制定最有效?
“毒枭司令”李弥:率领残军横行金三角,因称缅甸王被蒋介石召回