From 47ebf3dc40c2337a31e151de43954af3348dfcaf Mon Sep 17 00:00:00 2001 From: Meng Sen Date: Tue, 8 Oct 2024 11:34:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=BA=94=E7=94=A8=20MaxKB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Meng Sen --- .github/README.md | 1 + README.md | 1 + apps/maxkb/1.6.1/data.yml | 17 +++++++ apps/maxkb/1.6.1/docker-compose.yml | 20 ++++++++ apps/maxkb/1.6.1/scripts/init.sh | 15 ++++++ apps/maxkb/1.6.1/scripts/uninstall.sh | 10 ++++ apps/maxkb/1.6.1/scripts/upgrade.sh | 15 ++++++ apps/maxkb/README.md | 69 ++++++++++++++++++++++++++ apps/maxkb/data.yml | 15 ++++++ apps/maxkb/logo.png | Bin 0 -> 2141 bytes 10 files changed, 163 insertions(+) create mode 100644 apps/maxkb/1.6.1/data.yml create mode 100644 apps/maxkb/1.6.1/docker-compose.yml create mode 100644 apps/maxkb/1.6.1/scripts/init.sh create mode 100644 apps/maxkb/1.6.1/scripts/uninstall.sh create mode 100644 apps/maxkb/1.6.1/scripts/upgrade.sh create mode 100644 apps/maxkb/README.md create mode 100644 apps/maxkb/data.yml create mode 100644 apps/maxkb/logo.png diff --git a/.github/README.md b/.github/README.md index 65141a76..e6ad1c95 100644 --- a/.github/README.md +++ b/.github/README.md @@ -110,6 +110,7 @@ | 🟢 | | JProxy | https://github.com/LuckyPuppy514/jproxy/ | 介于 Sonarr / Radarr 和 Jackett / Prowlarr 之间的代理,主要用于优化查询和提升识别率 | | | 🟢 | | LinkDing | https://github.com/sissbruecker/linkding/ | 自托管书签管理器 | | | 🟢 | | Docker Mailserver | https://docker-mailserver.github.io/docker-mailserver/latest/ | 可用于生产的全栈但简单的邮件服务器 | | +| 🟢 | | MaxKB | https://maxkb.cn/ | 基于 LLM 大语言模型的知识库问答系统 | | | 🟢 | | MinIO | https://min.io/ | MinIO 是一种高性能、兼容 S3 的对象存储 | | | 🟢 | | MoviePilot | https://github.com/jxxghp/MoviePilot/ | NAS媒体库自动化管理工具 | | | 🟢 | | MySQL | https://www.mysql.com/ | 关系数据库管理系统 | MySQL | diff --git a/README.md b/README.md index 4fd74f72..c60b8546 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,7 @@ | 🟢 | | JProxy | https://github.com/LuckyPuppy514/jproxy/ | 介于 Sonarr / Radarr 和 Jackett / Prowlarr 之间的代理,主要用于优化查询和提升识别率 | | | 🟢 | | LinkDing | https://github.com/sissbruecker/linkding/ | 自托管书签管理器 | | | 🟢 | | Docker Mailserver | https://docker-mailserver.github.io/docker-mailserver/latest/ | 可用于生产的全栈但简单的邮件服务器 | | +| 🟢 | | MaxKB | https://maxkb.cn/ | 基于 LLM 大语言模型的知识库问答系统 | | | 🟢 | | MinIO | https://min.io/ | MinIO 是一种高性能、兼容 S3 的对象存储 | | | 🟢 | | MoviePilot | https://github.com/jxxghp/MoviePilot/ | NAS媒体库自动化管理工具 | | | 🟢 | | MySQL | https://www.mysql.com/ | 关系数据库管理系统 | MySQL | diff --git a/apps/maxkb/1.6.1/data.yml b/apps/maxkb/1.6.1/data.yml new file mode 100644 index 00000000..2c48000c --- /dev/null +++ b/apps/maxkb/1.6.1/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: "/home/maxkb" + edit: true + envKey: MAXKB_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number diff --git a/apps/maxkb/1.6.1/docker-compose.yml b/apps/maxkb/1.6.1/docker-compose.yml new file mode 100644 index 00000000..a1a3342b --- /dev/null +++ b/apps/maxkb/1.6.1/docker-compose.yml @@ -0,0 +1,20 @@ +networks: + 1panel-network: + external: true +services: + maxkb: + image: 1panel/maxkb:v1.6.1 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + env_file: + - /etc/1panel/envs/global.env + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${MAXKB_ROOT_PATH}/data:/var/lib/postgresql/data + - ${MAXKB_ROOT_PATH}/python-packages:/opt/maxkb/app/sandbox/python-packages diff --git a/apps/maxkb/1.6.1/scripts/init.sh b/apps/maxkb/1.6.1/scripts/init.sh new file mode 100644 index 00000000..77b84912 --- /dev/null +++ b/apps/maxkb/1.6.1/scripts/init.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/maxkb/1.6.1/scripts/uninstall.sh b/apps/maxkb/1.6.1/scripts/uninstall.sh new file mode 100644 index 00000000..c86c4fbc --- /dev/null +++ b/apps/maxkb/1.6.1/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/maxkb/1.6.1/scripts/upgrade.sh b/apps/maxkb/1.6.1/scripts/upgrade.sh new file mode 100644 index 00000000..77b84912 --- /dev/null +++ b/apps/maxkb/1.6.1/scripts/upgrade.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/maxkb/README.md b/apps/maxkb/README.md new file mode 100644 index 00000000..9f607e95 --- /dev/null +++ b/apps/maxkb/README.md @@ -0,0 +1,69 @@ +# MaxKB + +一款基于大语言模型和 RAG 的开源知识库问答系统 + +![MaxKBo](https://file.lifebus.top/imgs/maxkb_cover.jpg) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 应用简介 + +MaxKB = `Max Knowledge Base`,是一款基于大语言模型和 RAG +的开源知识库问答系统,广泛应用于企业内部知识库、客户服务、学术研究与教育等场景。作为一款专注于知识库问答场景的软件产品,MaxKB +能够为企业的智能化进程注入新的动力,助力企业实现“提质增效”的目标。在知识库管理方面,MaxKB +帮助企业实现知识采集、知识入库、知识库构建的全流程自动化;在场景化智能搜索方面,MaxKB 能够解析用户输入的问题并匹配检索知识库;在回复准确性方面,MaxKB +采用了成熟的 LLM + RAG 技术,能够最大限度地降低大模型幻觉对知识搜索准确性的干扰,提高企业对业务数据的分类与召回能力;安全性方面,MaxKB +支持本地部署和调用本地大模型,有效管控企业使用知识库时越级访问的风险,以及公有模型在数据传输方面可能存在的安全隐患。借助 +MaxKB,企业用户可以快速上线业务 AI 助手,将生成式 AI 能力应用于业务数据管理、内部资料查询、线上客户服务等领域,优化业务服务流程并切实提升用户体验。 + +### 整体架构 + +![MaxKBo](https://file.lifebus.top/imgs/maxkb_architecture.jpg) + +### 实现原理 + +![MaxKBo](https://file.lifebus.top/imgs/maxkb_principle.jpg) + +### 技术栈 + ++ 前端:Vue.js、logicflow ++ 后端:Python / Django ++ 架构:Langchain ++ 向量数据库:PostgreSQL / pgvector ++ 大模型:Ollama、Azure OpenAI、OpenAI、通义千问、Kimi、百度千帆、讯飞星火、Gemini、DeepSeek等。 + +--- + +## 安装说明 + +> 服务地址:http://127.0.0.1:8080。 +> +> 默认的登录信息: +> +> 用户名:`admin` +> +> 默认密码:`MaxKB@123..` + +### 安装环境 + ++ 操作系统:Ubuntu 22.04 / CentOS 7 64 位系统; ++ CPU/内存: 推荐 2C/4GB 以上; ++ 磁盘空间:100GB; ++ 浏览器要求:请使用 Chrome、FireFox、Safari、Edge等现代浏览器; ++ 可访问互联网。 + +### 社区版限制 + ++ 用户数量:2 个; ++ 知识库数量:50 个; ++ 应用数量:5 个; ++ 不支持 第三方应用(企业微信,钉钉,微信公众号) ++ 不支持自定义对话框的 AI 头像 ++ 不支持自定义对话框的浮窗入口图标 ++ 不支持对话框浮窗位置可拖拽 ++ 不支持显示历史对话记录设置 ++ 不支持自定义系统 Logo 和主题 ++ 不支持 LDAP、OIDC、CAS 等单点登录协议 ++ 不开放 API + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/maxkb/data.yml b/apps/maxkb/data.yml new file mode 100644 index 00000000..dc110037 --- /dev/null +++ b/apps/maxkb/data.yml @@ -0,0 +1,15 @@ +additionalProperties: + key: maxkb + name: MaxKB + tags: + - WebSite + - AI + - Local + shortDescZh: 基于 LLM 大语言模型的知识库问答系统 + shortDescEn: A knowledge base question and answer system based on LLM large language model + type: website + crossVersionUpdate: true + limit: 0 + website: https://maxkb.cn/ + github: https://github.com/1Panel-dev/MaxKB/ + document: https://maxkb.cn/docs/ diff --git a/apps/maxkb/logo.png b/apps/maxkb/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..86929b34b0a3132b2af547dbb7dc37b156ad13c4 GIT binary patch literal 2141 zcmV-j2%`6iP)KyR=g&96YIKwau!!QiPFbu;m4C8+wg~jJ-cppM~ zpVlSEeLgV<_Xa{LPiKMN@t}4$+h6rB3IJz6ejpK^em-vh?^%6O%eA#q-$U21rGksCi0l z6+j*lo1=WpB3Ge!In2s#fJ|2#s=D!vhnnNgim6gNL6J1LYodHB8wOzH4_@SxNCVHI z#~R;UBgW z{(^7En@;emt>O@U+`i}byl?0H)x7;3gn27k>$K9i9d1{w@9e>ZXz`*N4NR5%m1kk_ zs%N3dnK%fm!HaXnE0bq%(C>q*$qQgTiNF0Be$Shjw^mFluzA-nEyv&u3Emr7QrA?s z%Dkemd&c=7UL>n?cKuDmZ>Y!18Pf0e{b02!{>tM-=j|n%zm&(F2R@j*A4MxUw{IC_ z@#>=JZMrPW($5sUEb>_DkXO`u=7uk2eo`pI7`PJc_|vPx4;h z=6#*wEyOE=zoIj|FD>u;Y)HDC@RyXkznSi<+Dxm_-9G{3WY-=r;0xw{wQOb%QV%H88-E znU+j_|7V>7)+Y;*l61`yO*v2?iNPoSQ&qaRAd7%ZJFpiJY3OUJYmzS3*VMP6^<7%; z+m4MZMM@>pF2NU#iZu4MsmyX%-*u_2`kH;PMtz55Up7*pPvH3JJH;+7iq?G9557wE zT{N~WFu`{~$Swz(z*`X0o^J*DAW?l+rSom|h2%#!Wx4?P+VbjH=Y3z)SA)CxV&4vA z9s7#NDx$tST<;4}p!Jp3)R&vBtk3WTsIMsSRUYX3G539beM?0OeAh);|D7*V+4SnG zziT`-ij=K4-*t;xwPAI=FEZJz&9@ZzRZ`hd-=>Q#@W0qs(`YhCz}NnAWN&=cQ75#E zeUZktP1^V-gtJQ#JRHb2Fr_Vg({u+^ik^;KD| zEd=Ji8s2lcFA|&8vHITQJLdI$tgm~fudJ?%?Q#l_03-Xib-K+ob(Mz zt|QVMcgB~KTuGn}~rvOrz&`k#3W*PDJN~ff&(!dL`*>#xLJ5L1H>7JW<=v zC6oA}@?3W=d>@g%KrDBW=}Y8$O6&uD5x%3ujtq}Cc1(Wlq&<>lq&<>lq&<$L%8+}2xy TX8jVJ00000NkvXXu0mjfVOK{~ literal 0 KcmV+b0RR6000031