前言

2024年4月12日,1Panel开源团队正式推出其新开源项目——MaxKB(github.com/1Panel-dev/MaxKB)。这款知识库问答系统基于大语言模型(LLM),名称“Max Knowledge Base”寓意为最大知识库,旨在为用户提供高效的学习支持和快速的回答能力,致力于成为企业的智能助手。

到2024年4月16日,MaxKB已在GitHub Trending榜单上取得了优异成绩,自发布以来获得了超过1,800个Star和5,000多次下载。有用户反馈,已成功将MaxKB部署在其官网,实现了低成本的专属AI客服。

在这里插入图片描述

除了能够快速搭建基于OpenAI、百度千帆等在线大模型的知识库问答系统外,MaxKB还支持与Ollama等本地私有大模型集成,从而实现本地知识库问答系统的快速部署。

准备工作

一、MaxKB安装部署

部署方式一:通过1Panel应用商店安装

  1. 登录至 1Panel应用商店
  2. 在应用商店中搜索“MaxKB”,点击下载。
    在这里插入图片描述

部署方式二:命令行安装(推荐)

  • 在确保Docker后台服务已启动后,使用以下命令在终端快速部署MaxKB:[强烈建议先开魔法再下载]
docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data 1panel/maxkb

在这里插入图片描述

命令解析

  1. docker run -d
    以后台模式运行容器。

  2. --name=maxkb
    为容器指定名称 maxkb,便于管理。

  3. -p 8080:8080
    将宿主机的8080端口映射到容器的8080端口。

  4. -v ~/.maxkb:/var/lib/postgresql/data
    将宿主机的 ~/.maxkb 目录挂载到容器的 /var/lib/postgresql/data 目录,以确保数据持久化。

  5. 1panel/maxkb
    指定要使用的Docker镜像。

二、访问MaxKB

1、访问MaxKB应用

在浏览器中输入以下地址: (确保Docker服务正在运行,且8080端口未被其他服务占用)

http://localhost:8080

输入下述登录信息即可访问MaxKB。

  • 用户名: admin
  • 密码: MaxKB@123..

在这里插入图片描述

  • 首次登录后,系统将提示用户修改密码,请根据指示进行修改即可。

在这里插入图片描述

2、在MaxKB中接入Ollama的大语言模型

  • 进入"系统设置" >> 点击左侧 “模型设置” >> 选择"供应商" >> 添加 “模型”
  • MaxKB 提供了多种模型供应商,用户可以通过 API Key 在线连接不同的大模型服务
  • MaxKB 支持集成多种大模型服务,包括百度千帆大模型、Azure OpenAI 和 OpenAI 等。具体对接步骤请参阅 MaxKB 官方文档。

在这里插入图片描述

  • 在不同的模型厂商中,API 密钥的申请地址各有不同。然而,本指南将不采用此方式,而是通过 Ollama 在本地部署的 qwen2.5:7b 大模型,将其配置到 MaxKB 中,以实现本地化的模型集成。
  • 选择 “供应商” >> “Ollama” >> 添加 “模型” >> 填写配置 >> “添加”

在这里插入图片描述

在填写 Ollama 模型配置时,请按照以下说明逐步完成各项内容:

  1. 模型名称:填写自定义的模型名称,用于识别此模型。例如,您可以使用 qwen257 来代表您本地部署的模型实例。

  2. 权限:选择模型的访问权限。

    • 私有:仅当前用户可以使用,适用于个人测试和专用模型。
    • 公用:所有用户均可使用,但无法编辑设置,适合共享的通用模型。
  3. 模型类型:从下拉列表中选择“大语言模型”,因为 qwen2.5:7b 是一个大语言模型。

  4. 基础模型:如果列表中未列出目标模型,您可以直接输入模型的名称,例如 qwen2.5:7b,然后按回车键确认。

  5. API 域名:输入您本地部署 Ollama 服务的 API 地址,通常在 Docker 环境下应为 http://host.docker.internal:11434,确保可以正常访问该地址。

  6. API Key:输入您设置的 API 密钥,确保授权访问此模型。如果没有特定的 API Key,可以留空或咨询管理员获取相应权限。

在这里插入图片描述

3、建立知识库

  • 选择 “知识库” >> 创建 “知识库” >> 填写配置 >> 点击 “创建”
  • MaxKB 支持“通用型”和“Web 站点”两种知识库类型,其中“通用型”配置相对简便
  • 本示例将以“通用型”创建《水浒传原文》知识库为例进行说明

在这里插入图片描述

在 MaxKB 中创建《水浒传原文》知识库时,可以按照以下说明填写各项信息:

  1. 知识库名称:填写知识库的名称,如“水浒传原文”,简明扼要地标识该知识库的内容。

  2. 知识库描述:提供简要描述,参考如下:

    该知识库包含《水浒传》的完整原文内容,作为中国古典四大名著之一的《水浒传》记录了北宋时期一百零八位梁山好汉的传奇故事。该知识库适用于历史文学研究、传统文化学习和语料库分析等多种场景。
    
  3. 向量模型:选择与知识库内容相匹配的向量模型,使用默认的 maxkb-embedding,用于后续的文本向量化处理。

  4. 知识库类型

    • 通用型:选择“通用型”用于上传本地文件或手动录入内容,适合原文文档的直接存储。
    • Web 站点:此类型用于同步 Web 网站文本数据,不适用于本地上传的文档。
  • 完成《水浒传原文》知识库的创建后,继续点击“上传文档”按钮

在这里插入图片描述

  1. 文本文件:适用于上传包含纯文本内容的文件,如 .txt 文件。这类文件可以直接导入知识库,用于构建文本内容的基础。

  2. 表格:适用于上传结构化数据的文件,如 .csv.xlsx 表格文件。表格文件通常包含多条记录,适合存储问答对、数据表等信息。

  3. QA 问答对:用于上传包含问题和对应答案的问答对内容。这种格式适合在知识库中快速建立问答形式的知识点,有助于实现基于问答的搜索或查询功能。

  • 在此步骤中,我们选择《水浒传》原文作为上传内容。

  • 已为大家准备好数据,百度网盘下载链接如下。此外,也可以访问 水浒传小说在线阅读 自行获取数据。

    通过百度网盘分享的文件:水浒传.zip
    链接:https://pan.baidu.com/s/12lQhDaaZQIIWquHF21qT6g?pwd=2024 
    提取码:2024 
    --来自百度网盘超级会员V3的分享
    
  • 请注意,在导入时需要选择“添加分段标题为关联问题(适用于标题为问题的问答对)”选项。本知识库适合勾选该选项,以便更好地将章节标题与内容关联。

在这里插入图片描述

4、创建应用

  • 选择 “应用” >> 创建 “应用” >> 填写配置 >> 点击 “创建”

在这里插入图片描述

  1. 应用名称:输入应用名称,如“水浒传达人”,以便用户直观了解该应用的主题和用途。

  2. 应用描述:参考填写如下描述:

    本应用旨在帮助用户了解《水浒传》的故事情节、人物背景和相关知识。用户可以通过提问的方式获取《水浒传》各章节内容、经典情节及人物关系等信息,适用于传统文化学习、文学研究和爱好者交流等场景。
    
  3. 选择应用类型

    • 简单配置:适合新手,快速创建小助手。
    • 高级编排:适合有一定经验的用户,可以自定义小助手的工作流程和交互逻辑。
  • 在 AI 模型配置中选择之前在模型库中添加的 qwen257 模型。
  • 另请注意,除了为应用添加知识库外,还需进行相应的参数设置。

在这里插入图片描述

  • 在参数设置中,建议根据知识库的数据量大小进行选择。由于本示例中的知识库数据量较小,因此选择了第二项配置,以优化性能和查询速度。

在这里插入图片描述

  • 其他配置项可根据实际需求和偏好进行设置,以满足不同的使用场景和用户体验。

在这里插入图片描述

  • 点击“保存并发布”后,可在“应用”界面查看并演示效果。

在这里插入图片描述

  • 演示效果如下

在这里插入图片描述

三、嵌入第三方应用

  • 选择 “应用” >> 选择 “水浒传达人” >> 点击 “嵌入第三方应用”

在这里插入图片描述

  • 剩下的步骤就是将代码集成到您的其他应用中,您可以根据具体需求灵活调整和应用。本教程的其余部分不再详述,供您自行探索与发挥。

在这里插入图片描述


总结

本教程详细介绍了如何使用 MaxKB 与 Ollama 本地模型构建企业知识库问答系统的完整流程。通过此指南,您可以迅速部署 MaxKB、集成 Ollama 的大语言模型,并建立定制的知识库应用,实现专属的智能问答助手。整个流程包括从 MaxKB 的安装部署、知识库的创建到应用的配置和发布,甚至最后的第三方应用嵌入,均提供了逐步指导,确保用户能够顺利搭建并运行自己的知识库系统。

MaxKB 的灵活性和与本地模型的兼容性,使其不仅能够满足常规的在线大模型接入需求,还支持在本地私有化部署,为用户提供安全、高效且低成本的 AI 解决方案。这一特性使得 MaxKB 特别适合需要自定义知识库问答系统的企业和个人。

至此,您已了解如何使用 MaxKB 与 Ollama 构建知识库小助手,并完成了基本的配置和应用发布。接下来,您可以根据实际需求进一步探索 MaxKB 的高级功能,或将其嵌入到其他应用场景中,以实现更广泛的智能交互。希望本教程能为您的知识库建设提供有力支持,助力企业智能化升级。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐