浏览代码

补充测试文章

guorui 10 月之前
父节点
当前提交
78c13ab28f

+ 110 - 0
source/_posts/1-安装部署.md

@@ -0,0 +1,110 @@
+---
+title: 安装部署
+date: 2024-05-09 11:40:36
+tags: [Hexo, Keep]
+categories: [Hexo]
+---
+
+
+
+
+
+
+
+## 1.1 环境要求
+
+**安装前请确保您的系统符合安装条件:**
+
+* 操作系统:Ubuntu 22.04 / CentOS 7 64 位系统;
+* CPU/内存: 推荐 2C/4GB 以上;
+* 磁盘空间:100GB;
+* 浏览器要求:请使用 Chrome、FireFox、Safari、Edge等现代浏览器;
+* **可访问互联网**。
+
+
+
+## 1.2 快速部署
+
+MaxKB 支持一键启动,仅需执行以下命令:
+```
+docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data 1panel/maxkb
+```
+
+## 1.3 部署完成
+
+安装成功后,可通过浏览器访问 MaxKB:
+
+```
+http://目标服务器 IP 地址:目标端口
+
+默认登录信息
+用户名:admin
+默认密码:MaxKB@123..
+```
+
+**如果使用的是云服务器,请至安全组开放目标端口。**
+
+## 1.4 在线升级
+
+### 注意:升级前确认数据持久化目录(-v后的目录),创建新容器时要跟上一次数据持久化目录保持一致,否则启动后数据为空。
+执行以下命令:
+```
+# 1. 下载最新镜像
+docker pull 1panel/maxkb
+
+# 2. 确认上一次数据持久化目录,复制保存,第4步使用
+docker inspect maxkb
+```
+![企业微信截图_17143780546441](https://github.com/1Panel-dev/MaxKB/assets/52996290/c6a8a938-179c-4dd4-881a-64abc0bcb740)
+
+```
+# 3. 删除正在运行的 MaxKB 容器
+docker rm -f maxkb 
+
+# 4. 创建并启动 MaxKB 容器
+docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data 1panel/maxkb
+# 注意:确认数据持久化目录(-v后的目录)要跟【第 2 步】的目录保持一致,否则启动后数据为空。
+```
+## 1.5 离线部署
+
+执行以下命令:
+```
+# 1.在可联网的服务器执行命令,下载最新镜像
+docker pull 1panel/maxkb
+
+# 2.将镜像离线,生成maxkb的离线包
+docker save 1panel/maxkb -o maxkb.tar
+
+# 3.将第 2 步的离线包上传至目标服务器
+
+# 4. 在目标服务器加载离线镜像
+docker load < maxkb.tar
+
+# 5. 启动 MaxKB
+docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data 1panel/maxkb
+```
+## 1.6 离线升级
+```
+# 1.在可联网的服务器执行命令,下载最新镜像
+docker pull 1panel/maxkb
+# 2.将镜像离线,生成maxkb的离线包
+docker save 1panel/maxkb -o maxkb.tar
+# 3.将第 2 步的离线包上传至目标服务器
+
+# 4. 在目标服务器加载离线镜像
+docker load < maxkb.tar
+
+# 5. 确认上一次数据持久化目录,复制保存,第4步使用
+docker inspect maxkb
+```
+ 
+![企业微信截图_17143780546441](https://github.com/1Panel-dev/MaxKB/assets/52996290/c6a8a938-179c-4dd4-881a-64abc0bcb740)
+
+```
+# 6. 删除正在运行的 MaxKB 容器
+docker rm -f maxkb 
+
+# 7. 创建并启动 MaxKB 容器
+docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data 1panel/maxkb
+# 注意:确认数据持久化目录(-v后的目录)要跟【第 5 步】的目录保持一致,否则启动后数据为空。
+```

+ 230 - 0
source/_posts/2-快速入门.md

@@ -0,0 +1,230 @@
+---
+title: 快速入门
+date: 2024-05-09 11:40:36
+tags: [Hexo, Keep]
+categories: [Hexo]
+---
+
+
+## 2.1 登录 MaxKB 系统
+
+```
+使用浏览器打开服务地址:http://目标服务器IP地址:目标端口。   
+默认的登录信息:  
+用户名:admin    
+默认密码:MaxKB@123.. 
+```
+## 2.2 添加模型
+```
+登录 MaxKB 系统后,可以先对接一下模型,也可以在创建应用时添加模型。
+```
+### 2.2.1 添加千帆大模型
+
+```
+点击【添加模型】,选择供应商【千帆大模型】,直接进入下一步填写千帆大模型表单。
+或者左侧供应商先选择【千帆大模型】,然后点击【添加模型】,则直接进入千帆大模型表单。
+```
+<img width="1473" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/b95b1c83-5ed0-43c1-ad36-e177d32647ae">
+
+
+```
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。    
+基础模型: 为供应商的 LLM 模型,支持自定义输入官方模型,选项中列了的一些常用的大语言模型。
+         注意自定义基础模型名称需保证与供应商平台的模型名称一致才能校验通过。    
+API Key 和 Secret Key:千帆大模型中应用的API Key 和 Secret Key(需要先创建应用)   
+```
+
+<img width="1475" alt="qianfan-app" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/860c0937-a9bf-4e85-97dc-cc2c72bbec5b">
+
+
+### 2.2.2 添加 Ollama 模型
+
+```
+点击【添加模型】,选择供应商【 Ollama 】,直接进入下一步填写 Ollama 供应商的大模型表单。
+或者左侧供应商先选择【 Ollama 】,然后点击【添加模型】,则直接进入 Ollama 表单。    
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。    
+基础模型: 为供应商的 LLM 模型,支持自定义输入,但需要与供应商的模型名称保持一致,系统会自动下载部署模型。   
+API 域名和 API Key: 为供应商的连接信息(Ollama 服务地址, 如:http://42.92.198.53:11434 )。若没有 API Key 可以输入任意字符。     
+点击【添加】后 校验通过则添加成功,便可以在应用的 AI 模型列表选择该模型。
+```
+<img width="1466" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/0c9c5b81-0ddb-4ea4-b331-f021314be1d3">
+
+
+### 2.2.3 添加 Azure OpenAI 模型
+
+```
+在模型管理中,点击供应商【 Azure OpenAI 】,直接进入下一步填写Azure OpenAI 的模型表单。    
+或者左侧供应商先选择【 Azure OpenAI 】,然后点击【添加模型】,则直接进入 Azure OpenAI 的模型表单。    
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。   
+基础模型: 为供应商的 LLM 模型,支持自定义输入和下拉选项,当前可下拉选择的大语言模型如:gpt-3.5-turbo-0613、gpt-3.5-turbo-0301、gpt-3.5-turbo-16k-0613 等。    
+```
+<img width="1475" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/6353572e-6b3b-426d-87e5-44039cf14c51">
+
+
+```
+API 域名、API Key、部署名称: 是Azure OpenAI 的模型部署中提供的,需要填写一致,参考下图:
+```
+
+![Azure key](https://github.com/1Panel-dev/MaxKB/assets/52996290/15a7c2e7-5fa7-44f8-b5f2-f9e3ece3fcfa)
+
+### 2.2.4 添加 OpenAI 大模型
+
+```
+在模型管理中,点击供应商【 OpenAI 】,直接进入下一步填写 OpenAI 的模型表单。    
+或者左侧供应商先选择【 OpenAI 】,然后点击【添加模型】,则直接进入 OpenAI 的模型表单。    
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。   
+基础模型: 为供应商的 LLM 模型,支持自定义输入,下拉选项是 OpenAI 常用的一些大语言模型如:gpt-3.5-turbo-0613、gpt-3.5-turbo、gpt-4 等。    
+API 域名(国外):https://api.openai.com/v1 。
+API 域名:国内服务器反向代理地址/v1。
+API Key:访问 OpenAI 的 Key。
+```
+<img width="1455" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/5f67e73e-d615-4bb3-9500-215fe20adb7d">
+ 
+### 2.2.5 添加讯飞星火大模型
+
+```
+在模型管理中,点击供应商【讯飞星火】,直接进入下一步填写讯飞星火的模型表单。    
+或者左侧供应商先选择【讯飞星火】,然后点击【添加模型】,则直接进入讯飞星火的模型表单。    
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。   
+基础模型: 为供应商的 LLM 模型,支持自定义输入,下拉选项是讯飞星火常用的一些大语言模型。    
+API 域名 V3.5:wss://spark-api.xf-yun.com/v3.5/chat
+API 域名 V3:wss://spark-api.xf-yun.com/v3.1/chat
+API 域名 V2:wss://spark-api.xf-yun.com/v2.1/chat
+API 域名 V1.5:wss://spark-api.xf-yun.com/v1.1/chat
+APP ID、API Key、Secret Key 需要现在讯飞星火开放平台创建应用,并该应该的剩余tokens>0,才能添加成功。
+```
+<img width="1470" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/19967bb2-fb17-4187-a486-0a85a26847ec">
+
+<img width="1475" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/2e884488-87e1-4d28-9312-0fd9a7a3d316">
+
+### 2.2.6 添加智谱AI大模型
+
+```
+在模型管理中,点击供应商【智谱AI】,直接进入下一步填写智谱AI的模型表单。    
+或者左侧供应商先选择【智谱AI】,然后点击【添加模型】,则直接进入智谱AI的模型表单。    
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。   
+基础模型: 为供应商的 LLM 模型,支持自定义输入,下拉选项是常用的一些大语言模型。    
+API Key: 需要现在智谱 AI 开放平台创建。
+```
+<img width="1453" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/97cc80cb-a463-418a-8fee-ccb7144fcb94">
+
+<img width="1429" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/ef461195-fc90-4505-9a13-120c65feb637">
+
+
+### 2.2.7 添加通义千问大模型
+
+```
+在模型管理中,点击供应商【通义千问】,直接进入下一步填写通义千问的模型表单。    
+或者左侧供应商先选择【通义千问】,然后点击【添加模型】,则直接进入通义千问的模型表单。    
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。   
+基础模型: 为供应商的 LLM 模型,支持自定义输入,下拉选项是常用的一些大语言模型。    
+API Key: 需要在阿里云->DashScope灵积模型服务->API Key管理中获取。
+```
+<img width="1464" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/75fab77f-0906-4f07-bf37-e80fe0934a28">
+<img width="1415" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/1fc31061-1e98-411f-92ec-d72bc442b8b6">
+
+### 2.2.8 添加Kimi大模型
+
+```
+在模型管理中,点击供应商【Kimi】,直接进入下一步填写Kimi的模型表单。    
+或者左侧供应商先选择【Kimi】,然后点击【添加模型】,则直接进入Kimi的模型表单。    
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。   
+基础模型: 为供应商的 LLM 模型,支持自定义输入,下拉选项是常用的一些大语言模型。  
+API 域名: https://api.moonshot.cn/v1  
+API Key: 在Kimi 账户中心的 API Key 管理中获取 key。
+```
+<img width="1422" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/67535f9b-86c4-4f08-8e0b-3c22528c7469">
+
+<img width="1452" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/8d2c99a1-b76a-4487-a143-4f286181f563">
+
+
+## 2.3 创建知识库
+
+```
+打开【知识库】页面,点击【创建知识库】,进入创建知识库页面。 
+```
+
+- **上传文档**  
+```  
+输入知识库名称、知识库描述、选择通用型知识库类型。
+然后将离线文档通过拖拽方式或选择文件上传方式进行上传。  
+上传文档要求:
+支持的格式为Markdown、TXT、PDF、DOCX;   
+每次最多上传 50 个文件;   
+每个文件不超过 100 MB。
+  
+文档规范建议:  
+1、规范分段标识:离线文档的分段标识要有一定规范,否则拆分出来的段落会不规整。   
+2、段落要完整:一个分段中最好能描述一个完整的功能点或问题。
+```
+
+<img width="1471" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/d465f358-8ff3-4569-bebc-c764be2d2a49">
+
+
+- **设置分段规则** 
+```  
+当前支持智能分段和高级分段两种分段方式,推荐选择:智能分段。  
+支持查看分段预览。 
+```  
+![automatic paragraphing](https://github.com/1Panel-dev/MaxKB/assets/52996290/40de6679-1ff3-4191-baa3-3ff1d762571f)
+
+```
+用户可在分段预览中对不合理的分段进行编辑和删除。
+```
+<img width="1476" alt="EditSegments" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/b252ea19-1413-4475-96e8-191d21780cce">
+
+- **创建完成**  
+ 
+```
+点击【创建并导入】后,系统会对文档进行自动分段 -> 存储 -> 向量化处理操作。    
+点击【前往文档】进入该知识库的【文档】列表页面。 
+``` 
+<img width="1475" alt="doc_list" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/33b8917f-019c-40bd-8080-01c260202e48">
+
+
+## 2.4 创建应用  
+```
+点击【创建应用】,进入创建应用页面,左侧为应用信息,右侧为调试预览界面。      
+应用名称: 用户提问时对话框的标题和名字。    
+应用描述: 对应用场景及用途的描述。    
+AI模型: 显示【系统设置】-【模型管理】中大语言模型,也可以直接添加模型,请参考【添加模型】操作介绍。    
+提示词: 系统默认有知识库的问答提示词,用户可以自定义。
+多轮对话: 开启时当用户提问携带用户在当前会话中最后3个问题;不开启则仅向大模型提交当前问题。           
+关联知识库: 选择已有的知识库进行关联,用户提问时会在关联的知识库中检索分段,引用分段生成提示词发送给大模型进行询问。若未关联知识库或未匹配到分段内容。
+参数设置: 可以设置知识库的相似度,引用分段数量和最大引用字符数。      
+注意:关联的知识库和应用为同一个用户创建。    
+开场白: 用户打开对话时,系统弹出的问候语。支持 Markdown 格式;[- ]后的内容为快捷问题,一行一个。    
+问题优化: 对用户提出的问题先进行一次 LLM 优化处理,将优化后的问题在知识库中进行向量化检索,开启后能提高检索知识库的准确度,但由于多一次询问大模型会增加回答问题的时长。       
+应用信息设置完成后,可以在右侧调试预览中进行提问预览。
+```
+<img width="1472" alt="add-app" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/06af41b8-42d5-4e69-837e-0a5e0fd30e88">
+
+```
+以上 4 步完成后,便可进行问答对话了。
+```
+## 2.5 演示预览
+
+```
+入口一:在应用列表页面,点击【演示】,可进入问答页面。
+入口二:点击应用面板,在概览页面点击演示或复制公开访问链接至浏览器进入问答页面进行提问。
+```
+<img width="1475" alt="QA" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/079a9f0c-b163-4d01-ac81-dceedbacbb3b">
+
+## 2.6 对话日志
+```
+在对话日志钟记录了所有用户会话中的问答详情,包括用户对AI 回答的反馈信息。  
+维护人员可以通过查看对话日志和用户反馈来修正答案。
+```   
+<img width="1468" alt="log-details" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/af47e50b-50c4-43d3-bf74-cd68be09dac8">
+
+
+
+

+ 289 - 0
source/_posts/2.1-知识库.md

@@ -0,0 +1,289 @@
+---
+title: 知识库
+date: 2024-05-09 11:40:36
+tags: [Hexo, Keep]
+categories: [Hexo]
+---
+
+
+
+# 2.1 知识库
+
+```
+企业私有的专业知识库,包含各种类型的数据,是问答对话中回答用户问题的知识来源。   
+MaxKB 知识库分为通用型知识库和 Web 站点知识库两种类型。
+通用型知识库:对离线文档上传管理,支持的文档类型为 Markdown、TXT、PDF、DOCX 类型的文本数据。    
+Web 站点知识库:用于获取在线静态文本数据管理,输入 Web 根地址后自动同步根地址及子级地址的文本数据。
+```
+```
+点击【知识库】菜单,进入知识库列表页面,该页面支持知识库创建、编辑、同步、删除、查询等功能。
+```
+
+![datasetlist](https://github.com/1Panel-dev/MaxKB/assets/52996290/3e727644-6be5-4a96-b653-e225ff5a912e)
+
+## 2.1.1 创建通用型知识库
+
+```
+打开【知识库】页面,点击【创建知识库】,进入创建知识库页面。 输入知识库名称、知识库描述、选择通用型知识库类型。
+然后将离线文档通过拖拽方式或选择文件上传方式进行上传。 
+```
+
+- **上传文档** 
+
+```
+上传文档要求:  
+支持的格式为Markdown、TXT、PDF、DOCX;   
+每次最多上传 50 个文件;   
+每个文件不超过 100 MB;
+支持选择文件夹,上传文件夹下符合要求的文件。
+      
+文档规范建议:    
+1、规范分段标识:离线文档的分段标识要有一定规范,否则拆分出来的段落会不规整。   
+2、段落要完整:一个分段中最好能描述一个完整的功能点或问题。   
+```
+![image](https://github.com/1Panel-dev/MaxKB/assets/52996290/ea49563a-4e73-4436-968e-0247f727667d)
+
+
+- **设置分段规则**  
+
+**智能分段** 
+ 
+``` 
+MarkDown 类型的文件分段规则为:根据标题逐级下钻式分段(最多支持 6 级标题),每段的字符数最大为 4096 个字符;   
+                           当最后一级的文本段落字符数超过设置的分段长度时,会查找分段长度以内的回车进行截取。     
+DOC 类型的分段规则为:识别标题格式转换成markdown的标题样式,逐级下钻进行分段(最多支持 6 级标题)每段的字符数最大为 4096 个字符;
+TXT和 PDF 类型的文件分段规则为:按照标题# 进行分段,若没有#标题的责按照字符数4096个字符进行分段,会查找分段长度以内的回车进行截取。  
+```   
+![automatic paragraphing](https://github.com/1Panel-dev/MaxKB/assets/52996290/52198412-0876-4172-b52a-41a933990a75)
+
+**高级分段** 
+```    
+用户可以根据文档规范自定义设置分段标识符、分段长度及自动清洗。   
+分段标识支持:#、##、###、####、#####、######、-、空行、回车、空格、分号、逗号、句号,若可选项没有还可以自定义输入分段标识符。   
+分段长度:支持最小 50个字符,最大 4096 个字符。   
+自动清洗:开启后系统会自动去掉重复多余的符号如空格、空行、制表符等。     
+```
+![Advanced segmentation](https://github.com/1Panel-dev/MaxKB/assets/52996290/904acea7-c08f-48d3-a573-a8936a135108)
+
+**预览** 
+```  
+分段规则设置完成后,需要点击【生成预览】查看最新规则的分段效果。
+```
+![Preview segmentation](https://github.com/1Panel-dev/MaxKB/assets/52996290/992825a6-74a6-4332-9c3e-83224fdfd8d5)
+```
+用户可在分段预览中对不合理的分段进行编辑和删除。
+```
+<img width="1476" alt="EditSegments" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/0f217a6d-50e7-405c-8337-195082a1eb14">
+
+- **创建完成** 
+``` 
+点击【创建并导入】后,系统会对文档进行自动分段 -> 存储 -> 向量化处理操作。    
+在创建完成页面可以看到导入的文档数量、分段数量和字符数。  
+``` 
+![finish](https://github.com/1Panel-dev/MaxKB/assets/52996290/8a0b5082-ac71-470b-9e25-4288c98b786a)
+```
+点击【返回知识库列表】回到知识库列表页面。   
+点击【前往文档】进入该知识库的【文档】列表页面。  
+```
+![image](https://github.com/1Panel-dev/MaxKB/assets/52996290/1047c7ec-a6e8-4f09-b08e-c819467c2426)
+
+
+## 2.1.2 创建Web站点知识库
+```
+点击【创建知识库】,进入创建知识库页面,用户需要输入知识库名称、知识库描述、选择通用型知识库类型。
+```
+![web_dataset](https://github.com/1Panel-dev/MaxKB/assets/52996290/8ee2704a-987e-4e92-ae72-a2f7b6ff567c)
+```
+Web根地址:为在线静态网页站点的根节点地址,系统会自动获取 Web 根地址及子级地址的数据资料。
+以 DataEase V1在线文档为例,可在 Web 根地址设置为:https://dataease.io/docs/v1/  
+选择器:是针对Web页面的数据可以设置定获取某个div内的数据,默认获取 body数据。
+如 DataEase 在线文档仅获取中间内容部分,可以右键检查网页,定位到中间内部区域找到 div为 md-content,则选择器输入为:.md-content 。
+```
+![DataEase_doc](https://github.com/1Panel-dev/MaxKB/assets/52996290/c137d27e-dae2-4215-96f8-433f19ace7ab)
+```
+点击【创建并导入】后,跳转到文档列表页面查看当前 Web站点下文档的导入状态,导入完成后,文件状态变为成功状态,导入失败的则文件状态为失败。 
+```
+![image](https://github.com/1Panel-dev/MaxKB/assets/52996290/dd80ab6a-3712-4293-8bd8-eca4c9aaad37)
+
+## 2.1.3 删除知识库
+```
+在知识库列表,点击知识库面板的【…】-》【删除】对知识库进行删除操作。
+```
+![dataset_del](https://github.com/1Panel-dev/MaxKB/assets/52996290/af2e1817-ae57-4f99-a0fe-dcd55ea1c927)
+
+
+## 2.1.4 设置知识库
+```
+在知识库列表,点击知识库面板的【…】-》【设置】进入知识库设置页面。
+```
+
+<img width="1466" alt="dataset_set" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/c973cc40-4353-4125-9873-80fc7b81c3ff">
+
+```
+进入【设置】菜单,可以对当前知识库名称、描述进行修改。
+可以关联/取消关联应用,应注意可关联的应用和知识库同属于一个用户。
+所有设置保存后设置生效。
+```      
+
+![dataset_setting](https://github.com/1Panel-dev/MaxKB/assets/52996290/9d647528-82fd-4f2d-800b-99870ee70d34)
+
+## 2.1.5 文档
+```
+不同知识库类型的文档属性不同,功能不同,但最终的分段数据会统一一致。
+```
+### 2.1.5.1 通用型知识库文档
+```
+点击通用型知识库面板,进入通用型知识库的【文档】页面。
+在文档列表页面新文档上传、快速创建空白文档、文档重命名、删除、启用/禁用等操作。当文档禁用后,当用户提问时不会对该文档下的分段内容进行查询。    
+```
+![image](https://github.com/1Panel-dev/MaxKB/assets/52996290/1047c7ec-a6e8-4f09-b08e-c819467c2426)
+
+- **上传文档** 
+ ``` 
+点击【上传文档】进入上传文档页面,通过文件拖拽或选择文件上传方式进行上传文档。
+```
+![upload-doc](https://github.com/1Panel-dev/MaxKB/assets/52996290/464e9d57-3298-479a-ba2d-68e48161d869)
+```
+点击下一步进入【设置分段规则】,可以对上传文档选择分段规则,默认为智能分段。分段规则变更后需要点击【生成预览】,分段预览中将按照最新规则进行分段展示。
+```
+![Segmentation rules](https://github.com/1Panel-dev/MaxKB/assets/52996290/0beb60aa-259c-4f8d-9443-894395675b7c)
+```
+点击【开始导入】后,系统会对文档进行自动分段 -> 存储 -> 向量化处理操作。
+```
+- **命中处理方式设置**
+```   
+支持设置文档的命中处理方式。
+直接返回:指提问时命中该文档下面的分段后,会直接返回分段内容。(注意:分段标题不返回)建议分段内容比较精准的使用该方式。
+模型优化:指提问时命中该文档下面的分段后,会按照应用的提示词生成 prompt 发送给模型优化后返回答案。
+```
+![image](https://github.com/1Panel-dev/MaxKB/assets/52996290/4da78400-479b-4604-8692-8b948b4f6225)
+
+### 2.1.5.2 Web 站点知识库文档
+```
+在知识库列表点击【知识库面板】,进入Web站点知识库的【文档】页面。
+```
+![web_doc](https://github.com/1Panel-dev/MaxKB/assets/52996290/4a85948b-676c-487f-9e9b-0f2337bc1d51)
+
+- **导入文档** 
+```    
+支持单独导入在线文档,点击【导入文档】打开对话框,需要用户输入文档链接和选择器,支持同时导入多个文档,输入文档地址时一行一个。
+```
+<img width="1475" alt="upload-web-doc" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/17a6534d-b5b5-4fac-89ad-4f167e23007b">
+
+- **同步知识库**  
+```
+支持对Web站点知识库进行同步更新操作,同步方式分为替换同步和完全同步。
+替换同步:重新获取 Web站点文档,替换本地知识库中地址相同的文档。
+整体同步:先删除本地知识库中所有文档,重新获取 Web站点下的文档数据。
+```
+<img width="1471" alt="sysn_dataset" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/7d34ec51-cfcc-49a9-af48-0d2a0ccdf877">
+
+- **启用/禁用** 
+```    
+文档禁用后,当用户提问时不会系统不会检索该文档下的分段内容,只有启用后系统才会检索。  
+```
+- **同步文档** 
+```      
+支持对文档进行单独同步和批量同步操作,同步时会先删除当前文档下的所有分段,重新获取文档地址的文本数据。   
+```
+![image](https://github.com/1Panel-dev/MaxKB/assets/52996290/98ccae91-3071-4a89-b818-800e093b1c0c)
+
+- **文档设置**   
+```   
+支持对文档的地址和选择器进行修改操作。
+支持设置文档的命中处理方式。
+直接返回:指提问时命中该文档下面的分段后,会直接返回分段内容。(注意:分段标题不返回)建议分段内容比较精准的使用该方式。
+模型优化:指提问时命中该文档下面的分段后,会按照应用的提示词生成 prompt 发送给模型优化后返回答案。
+```
+![image](https://github.com/1Panel-dev/MaxKB/assets/52996290/b78a4a0f-f436-45a5-ae2b-a9173af96f47)
+
+- **文档删除**    
+```
+支持对文档进行单独删除和批量删除操作。
+```
+<img width="1472" alt="doc-del" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/9f7ce960-bfd5-42e4-8f8e-40181b57f351">
+
+## 2.1.6 分段管理 
+ 
+```
+导入文档后,系统会进行智能分段操作,点击文档列表中的文档记录,进入到文档的分段管理页面。   
+分段管理功能支持对添加、编辑、删除、启用/禁用分段以及为分段添加关联问题。   
+说明: 分段禁用后,当用户提问时不会匹配禁用的分段。 
+```
+
+![Segmentation management](https://github.com/1Panel-dev/MaxKB/assets/52996290/c1c352d0-f822-4541-834a-649ba02c9566)
+
+**添加分段**   
+```
+点击【添加分段】,弹出添加分段对话框,用户需填写分段标题、分段内容(支持 markdown 样式编辑分段内容。)和关联问题,点击【提交】后则新增一个分段。   
+建议:为了能准确匹配到分段,建议为分段设置关联问题。(当用户提问时系统会优先匹配关联问题,再映射到分段。)
+```
+<img width="1471" alt="add-Segmentation" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/b1fd9196-b8e8-4206-bd69-5aa4605a790b">
+
+
+**编辑分段** 
+```   
+点击【分段面板】,打开分段详情,在分段详情页面可以对分段进行编辑和关联问题操作。
+```
+
+<img width="1471" alt="Edit-Segmentation" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/d570a4d3-dd4e-45e8-92dd-91fbda906416">
+
+
+**删除分段**  
+``` 
+在分段面板中可以对分段进行删除操作。
+```
+
+<img width="1472" alt="Del-Segmentation" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/54380ffa-8c2e-4f4d-8845-260a8af02ffb">
+
+## 2.1.7 问题
+```
+支持问题管理,维护知识库的用户可以收集用户可能提出的相关问题添加到问题库中进行维护。并将问题关联文档中的知识点,提高问答的准确度。
+问题按知识库进行分类管理,当前知识库的问题仅能关联当前知识库中的分段内容。
+问题不可重复添加。
+```
+<img width="1471" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/2d0c6685-e673-4b7a-8401-75ca2e7da363">
+
+### 2.1.7.1 创建问题
+```
+用户可以快速创建单个问题,也可以批量创建多个问题。
+```
+<img width="1466" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/32f91247-b3bf-448c-bd3d-c4cafc4aff1a">
+
+### 2.1.7.2 问题关联分段
+```
+问题添加完成后,可以关联文档中的分段,当用户提问时会优先匹配问题库来查询相关的分段。
+```
+<img width="1473" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/17b4af5b-c7a6-4d3a-ad1e-ceb492e9f15a">
+
+### 2.1.7.3 问题详情
+
+```
+点击问题记录可以打开问题详情,查看问题关联的分段内容,支持对分段内容进行修改或取消关联关系。
+```
+<img width="1472" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/2ba6045d-5712-4681-92da-6b2132c54836">
+
+
+## 2.1.8 命中测试
+
+```
+命中测试功能是针对用户提问进行一个模拟测试,用来调整分段内容和关联问题从而提高分段内容的匹配度,提高回答效果。
+点击命中测试,输入用户测试问题,系统在当前知识库中按照检索模式检索相关的分段,并按照相似度返回Top K分段。      
+用户可以根据返回分段对分段进行编辑或添加关联问题。
+```
+![image](https://github.com/1Panel-dev/MaxKB/assets/52996290/986c02c5-d071-46f5-82a3-f5a1a2854a74)
+
+### 2.1.8.1 参数设置
+
+```
+当前支持向量检索、全文检索和混合检索 3 种检索模式。
+向量检索:使用向量模型通过向量距离计算与用户问题最相似的文本分段。
+全文检索:通过关键词检索,返回包含关键词最多的文本分段。
+混合检索:同时执行全文检索和向量检索,再进行重排序,从两类查询结果中选择匹配用户问题的最佳结果。
+相似度:相似度越高代表问题和分段的相关性越强。
+返回分段数 top : 返回符合条件的 Top N 个分段。
+```
+![image](https://github.com/1Panel-dev/MaxKB/assets/52996290/bb06bf19-2e87-4d87-a49a-9d8e3014159b)
+
+
+

+ 155 - 0
source/_posts/2.2-应用.md

@@ -0,0 +1,155 @@
+---
+title: 应用
+date: 2024-05-09 11:40:36
+tags: [Hexo, Keep]
+categories: [Hexo]
+---
+
+# 2.2 应用
+```
+应用是指基于LLM大语言模型构建的实际场景应用。支持全屏和弹框两种样式嵌入到第三方产品,您可以根据需求为不同产品创建所需的应用。
+
+点击【应用】菜单,进入应用列表页面,该页面支持应用创建、编辑、删除、查询等功能。
+```
+
+![applist](https://github.com/1Panel-dev/MaxKB/assets/52996290/45d9fd41-b506-41c1-9146-98946b2662d2)
+
+## 2.2.1 创建应用
+```
+点击【创建应用】,进入创建应用页面,左侧为应用信息,右侧为调试预览界面。      
+应用名称:用户提问时对话框的标题和名字。    
+应用描述:对应用场景及用途的描述。    
+AI模型: 在【系统设置】-【模型管理】中添加的大语言模型。    
+提示词:系统默认有智能知识库的提示词,用户可以自定义通过调整提示词内容,可以引导大模型聊天方向.
+多轮对话: 开启时当用户提问携带用户在当前会话中最后3个问题;不开启则仅向大模型提交当前问题题。           
+关联知识库:用户提问后会在关联的知识库中检索分段。   
+开场白:用户打开对话时,系统弹出的问候语。支持 Markdown 格式;[-]后的内容为快捷问题,一行一个。       
+问题优化:对用户提出的问题先进行一次 LLM 优化处理,将优化后的问题在知识库中进行向量化检索;    
+        开启后能提高检索知识库的准确度,但由于多一次询问大模型会增加回答问题的时长。   
+  
+应用信息设置完成后,可以在右侧调试预览中进行提问预览,调试预览中提问内容不计入对话日志。
+```
+<img width="1472" alt="add-app" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/6e38ae62-bba9-4c72-85bf-ebe871a83452">
+
+- **参数设置详细说明**
+```
+1、检索模式:1.1 向量检索:使用向量模型通过向量距离计算与用户问题最相似的文本分段;1.2.全文检索:通过关键词检索,返回包含关键词最多的文本分段;1.3. 混合检索:同时执行全文检索和向量检索,再进行重排序,从两类查询结果中选择匹配用户问题的最佳结果。
+2、相似度:相似度越高代表问题和分段的相关性越强。
+3、引用分段数:提问时按相似度携带N个分段生成提示词询问 LLM 模型。
+4、引用最大字符数:引用分段内容设置最大字符数,超过时则截断。
+5、无引用知识库时,有 2 种处理方式可设置:
+   5.1. 继续提问:可以自定义设置提示词,需要有{question}用户问题的占位符,才会把用户问题发送给模型。
+   5.2. 指定回复内容:当没有命中知识库分段时可以指定回复内容。
+```
+![image](https://github.com/1Panel-dev/MaxKB/assets/52996290/c0f920aa-049c-4fbf-96f9-fd81e1ff9283)
+
+
+## 2.2.2 应用设置
+```
+在应用列表,点击应用面板的【设置】进入应用设置页面。
+所有设置保存后设置生效。
+```
+<img width="1473" alt="app-setting" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/83af28ff-ac54-4c0a-a720-669f8cee3618">
+
+## 2.2.3 删除应用
+
+```
+在应用列表,支持对用户创建的应用进行删除操作。
+```
+<img width="1470" alt="del-app" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/1431d310-5e98-4a17-9645-69dc42bdb4ec">
+
+
+## 2.2.4 应用概览
+
+```
+在应用列表页面,点击应用的面板,进入到应用概览页面。
+在概览页面可以进行演示、启用/禁用/重新生成公开访问链接、嵌入第三方、访问限制设置和 API Key 管理操作。
+在应用概览页面支持查看当前应用的监控统计数据
+```
+![image](https://github.com/1Panel-dev/MaxKB/assets/52996290/2cc787bf-85ca-49d3-9d97-361b3d05b112)
+
+
+
+### 2.2.4.1 公开访问链接
+```
+用户点击演示或复制公开访问链接至浏览器进入问答页面。
+```
+
+<img width="1475" alt="QA" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/9ba127e4-76ef-4dde-b406-86bb179d3733">
+
+```
+公开访问链接支持开关设置和重新生成。  
+关闭/重新生成公开访问链接时,提示:抱歉,当前正在维护,无法提供服务,请稍后再试!
+```
+
+<img width="1471" alt="app-closed" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/88c2bffa-1348-4980-ba93-980da052a868">
+
+### 2.2.4.2 嵌入第三方
+```
+MaxKB 应用支持零编码嵌入到企业的第三方系统。
+当应用设置完成后,在应用概览页面,点击【嵌入第三方】,用户可以复制全屏模式代码或浮窗模式代码嵌入到第三方系统中,嵌入完成后便可在第三方系统中进行用户问答。
+```
+
+![Embed third-party](https://github.com/1Panel-dev/MaxKB/assets/52996290/121c2ba3-1ebc-4ae2-94e2-4d24635f402b)
+
+### 2.2.4.3 访问限制
+
+```
+MaxKB 支持对应用设置客户端提问次数限制和嵌入第三方白名单防盗链设置。
+```
+
+<img width="1475" alt="Access restrictions" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/f70db9ac-888a-484c-a678-40c1e4bc08ba">
+
+### 2.2.4.4 API 访问凭据
+
+```
+二开时调用当前应用的 API 文档和 API Key 管理,复制凭证地址可以打开 API 文档,点击 【API Key 】,打开 API Key 的管理对话框。
+支持创建、启用/禁用、删除 API Key。
+```
+
+<img width="1475" alt="app-apikey" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/4290d361-5fc3-4259-9b26-5c492446e4f8">
+
+### 2.2.4.5  监控统计
+
+```
+针对每个应用支持统计提问用户数据、新增提问用户数、提问数、 消费Tokens数和用户满意度。
+```
+![image](https://github.com/1Panel-dev/MaxKB/assets/52996290/fff04016-6865-4583-96c1-aad320969cde)
+
+
+## 2.2.5 命中测试
+```
+命中测试功能是针对用户提问进行一个模拟测试,用来调整分段内容和关联问题从而提高分段内容的匹配度,提高回答效果。   
+输入用户测试问题,系统在当前应用关联的知识库中进行向量检索,检索与问题相关的分段,按照相似度和返回Top 分段数筛选返回满足条件的分段。   
+用户可以根据返回分段对分段进行编辑或添加关联问题。
+```
+![app-hittesting](https://github.com/1Panel-dev/MaxKB/assets/52996290/d08cc1e1-a34e-4224-8341-9ccb535e9e99)
+
+## 2.2.6 对话日志
+```
+在对话日志钟记录了所有用户会话中的问答详情,包括用户对 AI 回答的反馈信息。  
+维护人员可以通过查看对话日志和用户反馈来修正答案。   
+支持查询过去 7 天、30 天、90 天、过去半年的对话日志。
+支持按摘要和用户反馈查询对话日志。
+支持导出对话日志内容。
+```
+![image](https://github.com/1Panel-dev/MaxKB/assets/52996290/c4ebc0e8-e12e-4812-b228-5b75c2416a7e)
+
+### 2.2.6.1 日志详情
+
+```
+日志详情为每个用户真实的问答场景,问答中用户的反馈只能查看不能修改。
+```
+
+<img width="1468" alt="log-details" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/8f769200-6487-4574-924f-1e7321d979df">
+
+```
+支持查看 AI 回答时具体引用知识库的分段内容。
+```
+
+![Quotations](https://github.com/1Panel-dev/MaxKB/assets/52996290/65c32809-8ea4-4c7d-ae5a-600e6dd75e09)
+```
+维护人员可以根据用户提问和 AI 回答以及用户的反馈来标注答案完善分段内容。
+```
+![EditAnser](https://github.com/1Panel-dev/MaxKB/assets/52996290/502cf972-d84a-4ddd-822a-0e09911934b8)
+

+ 143 - 0
source/_posts/2.3-模型管理.md

@@ -0,0 +1,143 @@
+---
+title: 模型管理
+date: 2024-05-09 11:40:36
+tags: [Hexo, Keep]
+categories: [Hexo]
+---
+```
+模型管理用于对接供应商的大语言模型;
+MaxKB 支持对接主流的大模型,包括本地私有大模型 Ollama(如 Llama2、Llama3、qwen等私有模型)、Azure OpenAI、OpenAI、Kimi、智谱 AI、通义千问、讯飞星火和百度千帆大模型等。
+```
+<img width="1465" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/a743c842-d283-4c20-bd71-8ebdf3a34763">
+
+### 2.3.1 添加千帆大模型
+
+```
+点击【添加模型】,选择供应商【千帆大模型】,直接进入下一步填写千帆大模型表单。
+或者左侧供应商先选择【千帆大模型】,然后点击【添加模型】,则直接进入千帆大模型表单。
+```
+<img width="1473" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/b95b1c83-5ed0-43c1-ad36-e177d32647ae">
+
+
+```
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。    
+基础模型: 为供应商的 LLM 模型,支持自定义输入官方模型,选项中列了的一些常用的大语言模型。
+         注意自定义基础模型名称需保证与供应商平台的模型名称一致才能校验通过。    
+API Key 和 Secret Key:千帆大模型中应用的API Key 和 Secret Key(需要先创建应用)   
+```
+
+<img width="1475" alt="qianfan-app" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/860c0937-a9bf-4e85-97dc-cc2c72bbec5b">
+
+
+### 2.3.2 添加 Ollama 模型
+
+```
+点击【添加模型】,选择供应商【 Ollama 】,直接进入下一步填写 Ollama 供应商的大模型表单。
+或者左侧供应商先选择【 Ollama 】,然后点击【添加模型】,则直接进入 Ollama 表单。    
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。    
+基础模型: 为供应商的 LLM 模型,支持自定义输入,但需要与供应商的模型名称保持一致,系统会自动下载部署模型。   
+API 域名和 API Key: 为供应商的连接信息(Ollama 服务地址, 如:http://42.92.198.53:11434 )。若没有 API Key 可以输入任意字符。     
+点击【添加】后 校验通过则添加成功,便可以在应用的 AI 模型列表选择该模型。
+```
+<img width="1469" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/0ef2a2d2-0191-4b93-8745-ac947a1b13bb">
+
+
+### 2.3.3 添加 Azure OpenAI 模型
+
+```
+在模型管理中,点击供应商【 Azure OpenAI 】,直接进入下一步填写Azure OpenAI 的模型表单。    
+或者左侧供应商先选择【 Azure OpenAI 】,然后点击【添加模型】,则直接进入 Azure OpenAI 的模型表单。    
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。   
+基础模型: 为供应商的 LLM 模型,支持自定义输入和下拉选项,当前可下拉选择的大语言模型如:gpt-3.5-turbo-0613、gpt-3.5-turbo-0301、gpt-3.5-turbo-16k-0613 等。    
+```
+<img width="1475" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/6353572e-6b3b-426d-87e5-44039cf14c51">
+
+
+```
+API 域名、API Key、部署名称: 是Azure OpenAI 的模型部署中提供的,需要填写一致,参考下图:
+```
+
+![Azure key](https://github.com/1Panel-dev/MaxKB/assets/52996290/15a7c2e7-5fa7-44f8-b5f2-f9e3ece3fcfa)
+
+### 2.3.4 添加 OpenAI 大模型
+
+```
+在模型管理中,点击供应商【 OpenAI 】,直接进入下一步填写 OpenAI 的模型表单。    
+或者左侧供应商先选择【 OpenAI 】,然后点击【添加模型】,则直接进入 OpenAI 的模型表单。    
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。   
+基础模型: 为供应商的 LLM 模型,支持自定义输入,下拉选项是 OpenAI 常用的一些大语言模型如:gpt-3.5-turbo-0613、gpt-3.5-turbo、gpt-4 等。    
+API 域名(国外):https://api.openai.com/v1 。
+API 域名:国内服务器反向代理地址/v1。
+API Key:访问 OpenAI 的 Key。
+```
+<img width="1455" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/5f67e73e-d615-4bb3-9500-215fe20adb7d">
+
+
+### 2.3.5 添加讯飞星火大模型
+
+```
+在模型管理中,点击供应商【讯飞星火】,直接进入下一步填写讯飞星火的模型表单。    
+或者左侧供应商先选择【讯飞星火】,然后点击【添加模型】,则直接进入讯飞星火的模型表单。    
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。   
+基础模型: 为供应商的 LLM 模型,支持自定义输入,下拉选项是常用的一些大语言模型。    
+API 域名 V3.5:wss://spark-api.xf-yun.com/v3.5/chat
+API 域名 V3:wss://spark-api.xf-yun.com/v3.1/chat
+API 域名 V2:wss://spark-api.xf-yun.com/v2.1/chat
+API 域名 V1.5:wss://spark-api.xf-yun.com/v1.1/chat
+APP ID、API Key、Secret Key 需要现在讯飞星火开放平台创建应用,并该应该的剩余tokens>0,才能添加成功。
+```
+<img width="1470" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/19967bb2-fb17-4187-a486-0a85a26847ec">
+
+<img width="1475" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/2e884488-87e1-4d28-9312-0fd9a7a3d316">
+
+### 2.3.6 添加智谱AI大模型
+
+```
+在模型管理中,点击供应商【智谱AI】,直接进入下一步填写智谱AI的模型表单。    
+或者左侧供应商先选择【智谱AI】,然后点击【添加模型】,则直接进入智谱AI的模型表单。    
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。   
+基础模型: 为供应商的 LLM 模型,支持自定义输入,下拉选项是常用的一些大语言模型。    
+API Key: 需要现在智谱 AI 开放平台创建。
+```
+<img width="1453" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/97cc80cb-a463-418a-8fee-ccb7144fcb94">
+
+<img width="1429" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/ef461195-fc90-4505-9a13-120c65feb637">
+
+
+### 2.3.7 添加通义千问大模型
+
+```
+在模型管理中,点击供应商【通义千问】,直接进入下一步填写通义千问的模型表单。    
+或者左侧供应商先选择【通义千问】,然后点击【添加模型】,则直接进入通义千问的模型表单。    
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。   
+基础模型: 为供应商的 LLM 模型,支持自定义输入,下拉选项是常用的一些大语言模型。    
+API Key: 需要在阿里云->DashScope灵积模型服务->API Key管理中获取。
+```
+<img width="1464" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/75fab77f-0906-4f07-bf37-e80fe0934a28">
+<img width="1415" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/1fc31061-1e98-411f-92ec-d72bc442b8b6">
+
+### 2.3.8 添加Kimi大模型
+
+```
+在模型管理中,点击供应商【Kimi】,直接进入下一步填写Kimi的模型表单。    
+或者左侧供应商先选择【Kimi】,然后点击【添加模型】,则直接进入Kimi的模型表单。    
+模型名称: MaxKB 中自定义的模型名称。   
+模型类型: 大语言模型。   
+基础模型: 为供应商的 LLM 模型,支持自定义输入,下拉选项是常用的一些大语言模型。  
+API 域名: https://api.moonshot.cn/v1  
+API Key: 在Kimi 账户中心的 API Key 管理中获取 key。
+```
+<img width="1422" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/67535f9b-86c4-4f08-8e0b-3c22528c7469">
+
+<img width="1452" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/8d2c99a1-b76a-4487-a143-4f286181f563">
+
+
+
+

+ 41 - 0
source/_posts/2.4-用户管理.md

@@ -0,0 +1,41 @@
+---
+title: 用户管理
+date: 2024-05-09 11:40:36
+tags: [Hexo, Keep]
+categories: [Hexo]
+---
+
+MaxKB 用户仅能通过 admin 系统管理员在用户管理中进行添加。
+用户管理为 admin 系统管理员功能,普通用户登录后不显示该菜单。
+
+## 2.4.1 创建用户   
+
+```
+点击【创建用户】,弹出创建用户表单,需要填写用户名、姓名、邮箱、手机号、登录密码信息。    
+创建成功功能,便可以使用用户名进行登录。    
+```
+<img width="1475" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/2c037061-781f-4209-ad8d-a0ef463c61be">
+
+
+## 2.4.2 编辑用户   
+```
+点击【编辑】,弹出编辑用户对话框,可以编辑用户的姓名、邮箱、手机号,用户名无法编辑。    
+```
+<img width="1472" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/5a29ad1f-f089-4785-bee2-b4bcd33ff368">
+
+## 2.4.3 修改密码
+
+```
+当用户的密码忘记时,管理可以修改所有用户的登录密码。
+点击【修改密码】,为用户设置新的登录密码。    
+```  
+<img width="1474" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/e4226fb7-05f4-41f0-a8a1-158b56a4a726">
+
+## 2.4.4 删除用户
+
+```
+支持 admin 系统管理员 对用户进行删除操作。admin 用户无法被删除。
+点击【删除】该用户及用户创建的知识库、应用、模型等资源都会被删除。    
+```  
+<img width="1472" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/a5abe76b-1a88-42a4-b0de-4e3127b8d024">
+

+ 39 - 0
source/_posts/2.5-团队管理.md

@@ -0,0 +1,39 @@
+---
+title: 团队管理
+date: 2024-05-09 11:40:36
+tags: [Hexo, Keep]
+categories: [Hexo]
+---
+```
+在 MaxKB 中,支持团队协同维护知识库和应用。内置所有者和成员两种角色,当前登录用户为所有者角色,添加成员用户都为成员角色。     
+在团队管理中支持添加和移除成员。   
+由于应用关联知识库时要求必须属于同一个所有者,在团队协同维护时,建议规划一个主账号来创建应用和知识库。   
+并由主账号来添加/移除成员,给成员分配资源权限。
+```
+![teamlist](https://github.com/1Panel-dev/MaxKB/assets/52996290/f21fcc38-86e2-4e19-9e3b-91744f48d8a7)
+
+## 2.5.1 添加成员
+```
+点击【添加成员】,需要输入成员的用户名或邮箱进行添加。   
+注意: 添加的成员必须是已存在的 MaxKB 用户。若用户不存在,可联系 admin 系统管理员添加用户。  
+```
+
+<img width="1466" alt="addMembers" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/956d6dfd-6659-41ab-9ce9-a7869c1ace95">
+
+## 2.5.2 权限设置
+```
+支持为成员分配当前用户创建应用和知识库资源的权限。    
+若分配使用权限,当成员登录 MaxKB 后仅能查看相应资源。    
+若分配管理权限,当成员登录 MaxKB 后可以管理操作相应资源。 
+点击【保存】后,权限生效。
+```
+
+<img width="1466" alt="Permission settings" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/f1febbed-5c9a-491d-9854-8dc9797d2823">
+
+## 2.5.3 移除成员
+
+```
+如果把成员移除,点击【…】-【移除】即可,成员移除后会回收资源权限。
+```
+
+<img width="1467" alt="el-members" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/ca1d2fe2-eaf1-4e0e-96de-0f147fd3c41e">

+ 43 - 0
source/_posts/Home.md

@@ -0,0 +1,43 @@
+---
+title: MaxKB 是一款基于 LLM 大语言模型的知识库问答系统
+date: 2024-05-09 11:40:36
+tags: [Hexo, Keep]
+categories: [Hexo]
+---
+MaxKB 是一款基于 LLM 大语言模型的知识库问答系统。   
+
+- **多模型支持**:支持对接主流的大模型,包括本地私有大模型(如 Llama 2)、OpenAI、通义千问、Kimi、Azure OpenAI 和百度千帆大模型等;
+- **开箱即用**:支持直接上传文档、自动爬取在线文档,支持文本自动拆分、向量化,智能问答交互体验好;
+- **无缝嵌入**:支持零编码快速嵌入到第三方业务系统。
+
+## 快速开始
+
+```
+docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data 1panel/maxkb
+```
+
+也可以通过 [1Panel 应用商店](https://apps.fit2cloud.com/1panel) 快速部署 MaxKB + Ollama + Llama 2,30 分钟内即可上线基于本地大模型的知识库问答系统。
+
+## 产品架构
+<image width='800px' hight='450px' src='https://github.com/1Panel-dev/MaxKB/assets/52996290/edc984f3-30a0-4608-a046-a715b08834f6'></image>
+
+
+## 实现原理
+<image width='800px' hight='450px' src='https://github.com/1Panel-dev/MaxKB/assets/52996290/af504a10-4ffb-4f51-a696-3cd7dc724724'></image>
+
+
+
+## 社区交流
+
+[论坛](https://bbs.fit2cloud.com/c/mk/11)
+
+## 技术栈
+
+-   前端:[Vue.js](https://cn.vuejs.org/)
+-   后端:[Python / Django](https://www.djangoproject.com/)
+-   Langchain:[Langchain](https://www.langchain.com/)
+-   向量数据库:[PostgreSQL / pgvector](https://www.postgresql.org/)
+-   大模型:Azure OpenAI、OpenAI、通义千问、Kimi、百度千帆大模型、[Ollama](https://github.com/ollama/ollama)
+
+
+

+ 56 - 0
source/_posts/如何使用Ollama离线部署LLM大语言模型.md

@@ -0,0 +1,56 @@
+---
+title: 如果你没有离线部署 LLM 模型的需求,请直接查看
+date: 2024-05-09 11:40:36
+tags: [Hexo, Keep]
+categories: [Hexo]
+---
+
+
+
+# 如果你没有离线部署 LLM 模型的需求,请直接查看[如何在线添加模型](https://github.com/1Panel-dev/MaxKB/wiki/2.3-%E6%A8%A1%E5%9E%8B%E7%AE%A1%E7%90%86)
+
+本文以在 Ollama 中 **离线部署**  qwen:0.5b 模型为例。
+## 1. 下载模型
+访问 huggingface 下载 qwen1_5-0_5b-chat-q5_k_m.gguf 模型。
+```
+https://huggingface.co/Qwen/Qwen1.5-0.5B-Chat-GGUF/tree/main
+```
+<image width='800px' hight='450px' src='https://github.com/1Panel-dev/MaxKB/assets/52996290/f554554f-a12e-42f9-9740-c20337945d45'></image>
+
+
+## 2. 上传 Qwen1.5-0.5B-Chat-GGUF 模型离线文件到 Ollama 所在服务器
+
+## 3. 创建Ollama Modelfile
+
+创建一个名为 Modelfile 的文件,内容如下:
+```
+FROM ./qwen1_5-0_5b-chat-q5_k_m.gguf
+
+TEMPLATE """{{ if .System }}<|im_start|>system
+{{ .System }}<|im_end|>{{ end }}<|im_start|>user
+{{ .Prompt }}<|im_end|>
+<|im_start|>assistant
+"""
+
+PARAMETER stop "<|im_start|>"
+PARAMETER stop "<|im_end|>"
+```
+说明:不同模型的 Modelfile 内容不同,可参考 Ollama 官网 [参数设置](https://ollama.com/library/qwen:0.5b) 。
+<image width='800px' hight='450px' src='https://github.com/1Panel-dev/MaxKB/assets/52996290/c67da913-01e3-492c-ac1e-7d7ed32638ff'></image>
+
+
+## 4. 在Ollama中创建模型
+执行以下命令,创建模型:
+```
+ollama create qwen:0.5b -f Modelfile
+```
+执行以下命令,确认模型存在:
+```
+ollama list
+```
+<img width="629" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/8ae1a5cd-d7ea-472d-8949-cea7f5912c12">
+
+## 5. 在 MaxKB中 添加 Ollama 模型 对接上面创建的 qwen:0.5b 模型
+
+<image width='800px' hight='450px' src='https://github.com/1Panel-dev/MaxKB/assets/52996290/01a61609-e678-4eb3-8833-4bcdaa79a775'></image>
+

+ 31 - 0
source/_posts/如何使用应用的APIKey进行对话调用.md

@@ -0,0 +1,31 @@
+---
+title: 打开swagger文档
+date: 2024-05-09 11:40:36
+tags: [Hexo, Keep]
+categories: [Hexo]
+---
+
+
+
+- 打开swagger文档
+```
+http://maxkb服务地址/doc
+```
+<img width="800px" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/9804c7e6-e7b0-4284-8699-314e0a2fb289">
+
+-  使用api-key进行认证
+
+<img width="800px" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/a09bc630-1d20-4a9e-9ed5-755445ff4eb4">
+
+-  调用应用profile接口获取应用信息
+
+<img width="800px" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/9858bc63-182d-431f-9d54-12913b949f4f">
+
+-  使用应用id打开会话
+
+<img width="800px" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/0c2d9875-2125-4b35-82e8-337e19a7a93e">
+
+-  使用会话id进行对话
+<img width="800px" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/802c6b31-e928-4e0c-bbe4-f8fd23ef5e44">
+
+

+ 41 - 0
source/_posts/如何让Ollama使用GPU运行LLM模型.md

@@ -0,0 +1,41 @@
+---
+title: 如何让Ollama使用GPU运行LLM模型
+date: 2024-05-09 11:40:36
+tags: [Hexo, Keep]
+categories: [Hexo]
+---
+
+
+
+
+说明:以 GPU 模式运行 Ollama 需要有 NVIDIA 显卡支持。
+
+# 1. 安装英伟达容器安装包
+
+我们以 Ubuntu22.04 为例(其他系统请参考:[英伟达官方文档](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/arch-overview.html))
+
+- 配置apt源
+```
+curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
+  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
+    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
+    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
+```
+- 更新源
+```
+sudo apt-get update
+```
+- 安装工具包
+```
+sudo apt-get install -y nvidia-container-toolkit
+```
+# 2. 使用 GPU 运行 Ollama
+```
+docker run --gpus all -d -v /opt/ai/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
+```
+# 3. 使用 Ollama 下载模型
+```
+docker exec -it ollama ollama run qwen:7b
+```
+# 4. 在 MaxKB 的模型设置中添加模型进行对接
+<img width="800px" alt="image" src="https://github.com/1Panel-dev/MaxKB/assets/52996290/f9e9d41c-cd8d-4bba-af92-ec9c9ed85144">

+ 124 - 0
source/_posts/开发环境搭建.md

@@ -0,0 +1,124 @@
+---
+title: 开发环境搭建
+date: 2024-05-09 11:40:36
+tags: [Hexo, Keep]
+categories: [Hexo]
+---
+
+
+
+## 1 项目结构
+
+```
+.
+├── LICENSE # License 申明
+├── README.md
+├── apps #   后端项目根目录
+│ ├── common    # 项目公共资源目录
+│ ├── smartdoc  # 项目主目录 
+│ ├── users     # 用户相关
+│ ├── manage.py #  django项目入口
+│ └── sdk # 项目通用的前后端依赖/网关的前端
+├── pyproject.toml # 后端依赖 配置文件
+└── ui # 前端项目根目录
+├── config_example.yml # 项目配置示例 
+├── main.py            # 项目入口文件 python main.py start 启动项目
+```
+
+## 2 环境准备
+
+### 2.1 前端环境准备
+
+- 安装 [node](https://nodejs.org/)
+
+### 2.2 后端环境准备
+
+- 安装 [python](https://www.python.org/downloads/release/python-3115/)
+- 安装 [pycharm](https://www.jetbrains.com/pycharm/download/)
+
+## 3 开发环境搭建
+
+安装poetry包管理器
+
+``` bash
+pip install poetry
+```
+
+## 4 开发准备
+
+### 4.1 本地配置
+
+若要项目启动,需要准备配置文件及目录
+
+- 准备配置文件
+
+   ```bash
+   # 将config_example.yml配置文件 目录拷贝至 /opt/maxkb/conf目录下 如果是Windows D:\\opt\\maxkb\\conf
+   cp config_example.yml /opt/maxkb/conf
+   ```
+- 配置 /opt/maxkb/conf/config_example.yml 
+
+   ```
+    # 数据库配置 
+    DB_NAME: maxkb
+    DB_HOST: localhost
+    DB_PORT: 5432
+    DB_USER: root
+    DB_PASSWORD: xxx
+    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
+   ```
+
+## 5 开发调试
+
+### 5.1 启动前端项目
+
+先在ui执行安装前端需要的依赖
+
+```bash
+npm install
+```
+
+启动项目
+
+``` bash
+npm run dev
+```
+
+### 5.2 启动后端项目
+
+先在根目录执行安装后端需要的依赖
+
+```bash
+poetry install
+```
+
+启动项目
+
+``` bash
+python main.py start
+```
+## 6 常见问题
+
+- 关于数据库版本
+```
+postgresql:15.x
+```
+- 关于 Python 版本
+```
+python:3.11.x
+```
+- database "xxx" does not exist 
+
+数据库不存在需要创建一个与配置文件相同的数据库, 这里我们创建一个maxkb的数据库
+
+```
+CREATE DATABASE "maxkb";
+\c "maxkb";
+CREATE EXTENSION "vector";
+```