From f5ba967be658c593abeb7f8c23aaefcb5eaa906f Mon Sep 17 00:00:00 2001 From: wanghe Date: Wed, 20 Mar 2024 17:36:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=20MaxKB=20(#1118)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/maxkb/0.9.0/data.yml | 10 ++++++++++ apps/maxkb/0.9.0/docker-compose.yml | 17 +++++++++++++++++ apps/maxkb/README.md | 16 ++++++++++++++++ apps/maxkb/data.yml | 19 +++++++++++++++++++ apps/maxkb/logo.png | Bin 0 -> 29525 bytes 5 files changed, 62 insertions(+) create mode 100644 apps/maxkb/0.9.0/data.yml create mode 100644 apps/maxkb/0.9.0/docker-compose.yml create mode 100644 apps/maxkb/README.md create mode 100644 apps/maxkb/data.yml create mode 100644 apps/maxkb/logo.png diff --git a/apps/maxkb/0.9.0/data.yml b/apps/maxkb/0.9.0/data.yml new file mode 100644 index 000000000..31e9d0715 --- /dev/null +++ b/apps/maxkb/0.9.0/data.yml @@ -0,0 +1,10 @@ +additionalProperties: + formFields: + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number \ No newline at end of file diff --git a/apps/maxkb/0.9.0/docker-compose.yml b/apps/maxkb/0.9.0/docker-compose.yml new file mode 100644 index 000000000..48e8dd51d --- /dev/null +++ b/apps/maxkb/0.9.0/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3' +services: + ollama: + image: 1panel/maxkb:v0.9.0 + container_name: ${CONTAINER_NAME} + restart: unless-stopped + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + networks: + - 1panel-network + volumes: + - ./data:/var/lib/postgresql/data + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true diff --git a/apps/maxkb/README.md b/apps/maxkb/README.md new file mode 100644 index 000000000..d102d7c3b --- /dev/null +++ b/apps/maxkb/README.md @@ -0,0 +1,16 @@ +# 默认账户密码 + +``` +username:admin +password:MaxKB@123.. +``` + +# MaxKB + +**MaxKB** 是一款基于 LLM 大语言模型的知识库问答系统 + +## 优势: + +- **多模型支持**:支持对接主流的大模型,包括本地私有大模型(如 Llama 2)、Azure OpenAI 和百度千帆大模型等; +- **开箱即用**:支持直接上传文档、自动爬取在线文档,支持文本自动拆分、向量化,智能问答交互体验好; +- **无缝嵌入**:支持零编码快速嵌入到第三方业务系统。 \ No newline at end of file diff --git a/apps/maxkb/data.yml b/apps/maxkb/data.yml new file mode 100644 index 000000000..a4569cd15 --- /dev/null +++ b/apps/maxkb/data.yml @@ -0,0 +1,19 @@ +name: MaxKB +tags: + - AI / 大模型 +title: 基于 LLM 大语言模型的知识库问答系统 +description: 基于 LLM 大语言模型的知识库问答系统 +additionalProperties: + key: maxkb + name: MaxKB + tags: + - AI + shortDescZh: 基于 LLM 大语言模型的知识库问答系统 + shortDescEn: Knowledge Base Question Answering System based on LLM large language model + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 13 + website: https://github.com/1Panel-dev/MaxKB + github: https://github.com/1Panel-dev/MaxKB + document: https://github.com/1Panel-dev/MaxKB/wiki diff --git a/apps/maxkb/logo.png b/apps/maxkb/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..95d34a18915369820bb89790ba08348b8b35db51 GIT binary patch literal 29525 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 literal 0 HcmV?d00001