操作教程丨MaxKB+Ollama:快速构建基于大语言模型的本地知识库问答系统

2024年4月12日,1Panel开源项目组正式对外介绍了其官方出品的开源子项目——MaxKB(github.com/1Panel-dev/MaxKB)。MaxKB是一款基于LLM(Large Language Model)大语言模型的知识库问答系统。MaxKB的产品命名内涵为“Max Knowledge Base”,为用户提供强大的学习能力和问答响应速度,致力于成为企业的最强大脑。

2024年4月16日,MaxKB成功登顶GitHub Trending主榜单,自项目发布后快速收获超过1,800个Star和超过5,000次下载。有社区用户反馈,已经成功将MaxKB部署到其产品官网,以低成本的方式打造出一个贴身的官方AI客服。
在这里插入图片描述

除了基于OpenAI、百度千帆大模型等在线大模型快速搭建知识库问答系统外,MaxKB还支持与以Ollama为代表的本地私有大模型相结合,快速部署本地的知识库问答系统。

本文为您详细介绍通过1Panel应用商店(apps.fit2cloud.com/1panel)快速部署MaxKB和Ollama,在MaxKB中接入Ollama的LLM模型,以及快速上线企业知识库小助手的具体方法。

1.MaxKB安装部署

部署方式一:通过1Panel应用商店,快速安装MaxKB应用。
在这里插入图片描述

部署方式二:命令行安装。

docker run -d --name=maxkb -p 8080:8080 -v
~/.maxkb:/var/lib/postgresql/data 1panel/maxkb

用户名: admin

密码: MaxKB@123…

2.Ollama安装部署

Ollama(github.com/ollama)是一个开源框架,它支持用户通过本地部署的方式构建大语言模型服务。目前,Ollama支持的大语言模型包括LIama 2、Mistral、Gemma等。

通过1Panel应用商店,您可以快速安装Ollama。
在这里插入图片描述

3.在MaxKB中接入Ollama的大语言模型

第一步:登录至MaxKB系统

在1Panel应用商店的“已安装”选项卡中,找到MaxKB应用面板,点击应用名下方的“服务端口”选项打开MaxKB应用页面,即可使用默认的账户名和密码登录至MaxKB。
在这里插入图片描述

第二步:接入Ollama LLM模型

进入MaxKB的“系统设置”菜单,在“模型设置”页面中选择添加“Ollama”模型,并且填写模型的具体信息。点击“添加”按钮后,系统会自动下载部署Ollama模型。
在这里插入图片描述

除Ollama外,MaxKB还支持对接百度千帆大模型、Azure OpenAI和OpenAI模型,详细步骤可以参考MaxKB官方文档。

4.制作企业知识库小助手

我们以制作DataEase小助手为例,为您演示通过MaxKB和Ollama构建知识库问答系统的过程。

第一步:在MaxKB中创建DataEase在线知识库

DataEase在线文档地址为:https://dataease.io/docs/。

在MaxKB应用界面中,点击“知识库”菜单,选择创建知识库,填写相关信息后创建并导入知识库。在“知识库类型”选项中,离线文档选择“通用型”类型,在线文档选择“Web站点”类型。知识库创建界面如下:
在这里插入图片描述

MaxKB支持用户使用文档列表查看导入的文本数据。系统会自动爬取根地址及子地址的文本数据,按照URL地址生成文档,并自动拆分和进行向量化处理。
在这里插入图片描述

第二步:在MaxKB中创建DataEase小助手应用

在MaxKB的“应用”菜单中,选择创建应用,并填写相关的应用信息,操作界面如下:
在这里插入图片描述
在这里插入图片描述

DataEase小助手创建完成后,可以在MaxKB“应用”菜单中的“应用”列表中点击对应应用的演示图标进行调试和预览。
在这里插入图片描述

DataEase小助手对话演示页面如下:
在这里插入图片描述

5.将企业小助手嵌入到第三方业务系统中

接下来,我们将DataEase小助手嵌入到DataEase在线文档中。

回到MaxKB“应用”菜单中,点击DataEase小助手应用面板,进入该应用的“概览”页面。在概览页面打开“嵌入第三方”选项。
在这里插入图片描述

复制“浮窗模式”下方的脚本,加入到DataEase在线文档的文件中,即可将DataEase小助手嵌入至对应的页面中。
在这里插入图片描述

DataEase小助手嵌入在线文档后的效果如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/1370.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ stl容器stack,queue,priority_queue的底层模拟实现

目录 前言: 文档借鉴:Reference - C Reference 1.deque a.deque的结构特点: b.deque的迭代器结构: c.面试题: 2.stack 3.queue 4.仿函数 5.priority_queue 总结: 前言: 本篇一共简单…

04节-51单片机-数码管模块

1.静态数码管显示 LED数码管:数码管是一种简单、廉价的显示器,是由多个发光二极管封装在一起组成“8”字型的器件 下图展示了数码管的线路连接 数码管的连接方式分为,公共端,共阴极和共阳极连接: 多个数码管共用引…

存储过程的查询

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 在实际使用中,经常会需要查询数据库中已有的存储过程或者某一个存储过程的内容, 下面就介绍-下如何查询存储过程。 这需要使用到数据字典 user_sou…

Linux设置真实IP

1.查看ens33网卡信息 vi /etc/sysconfig/network-scripts/ifcfg-ens33 #添加以下内容 BOOTPROTODHCP #协议类型 dhcp bootp none ONBOOTyes #启动时是否激活 yes | no#修改文件完成后,重启网络 service network restartping www.baidu.com #验证网络是否生效 ifco…

宝塔面板国际版aaPanel 精简版安装

宝塔面板国际版aaPanel 精简版安装 很多人都知道宝塔面板,但不知道宝塔面板还有英文版,宝塔面板英文版不是单纯的宝塔面板的翻译,而是根据老外的使用习惯及国外的网络环境做了一定的优化, 比如:去掉了手机号验证、去…

数据结构----顺序表

在学习顺序表之前,我们先来了解一下数据结构。 数据是什么呢? 我们在生活中常见的名字,数字,性别等都属于数据。 结构又是什么呢? 在计算机中,结构就是用来保存数据的方式。 总的来说,数据…

Python 基础02-Python 入门

官方文档:3.10.13 Documentation 一、Python 代码编写习惯 1. Python 中的编码 在 Python 3 版本之后,Python 默认使用 UTF-8 编码。UTF-8 是一种针对 Unicode 的可变长度字符编码。 2. 注释 注释可以对代码起到解释说明的作用,注释内容…

Linux的启动过程,了解一下?

Linux 系统启动过程 linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导。运行 init。系统初始化。建立终端 。用户登录系统。 init程序的类型: SysV: init, CentO…

linux——yum工具详解

yum是linux中自动解决软件包依赖关系的管理器 同时,yum也是一个rpm软件 这里使用yum install nginx安装nginx

CommunityToolkit.Mvvm笔记---ObservableValidator

ObservableValidator 是实现 INotifyDataErrorInfo 接口的基类,它支持验证向其他应用程序模块公开的属性。 它也继承自 ObservableObject,因此它还可实现 INotifyPropertyChanged 和 INotifyPropertyChanging。 它可用作需要支持属性更改通知和属性验证的…

Oracle解析exp、imp及常见的问题

前言 在工作中经常需要不同数据库的导入和导出。exp和imp可以实现数据的迁移。 exo会转储产生对应的二进制文件,里面包括数据的定义信息、数据内容等,即为dump文件。 下面是使用exp和imp的一些场景 exp和imp主要有4中模式: 1)数据库模式 数据库模式也就是我们说的全备…

k8s安装记录

k8s安装记录 如无特别说明,则该步操作指在所有的机器上执行!!! 如无特别说明,则该步操作指在所有的机器上执行!!! 如无特别说明,则该步操作指在所有的机器上执行&#…

CSS——前端笔记

CSS 1、选择器1.1、基础选择器1.2、复合选择器1.2.4、伪类选择器 1.3、属性选择器1.4、结构伪类选择器1.5、伪元素选择器 2、CSS的元素显示模式2.1、块元素2.2、行内元素2.3、行内块元素2.4、元素显示模式转换 3、字体属性3.1、font-family 字体3.2、font-size 字体大小3.3、fo…

Three.js加载glb / gltf模型,Vue加载glb / gltf模型(如何在vue中使用three.js,vue使用threejs加载glb模型)

简介:Three.js 是一个用于在 Web 上创建和显示 3D 图形的 JavaScript 库。它提供了丰富的功能和灵活的 API,使开发者可以轻松地在网页中创建各种 3D 场景、模型和动画效果。可以用来展示产品模型、建立交互式场景、游戏开发、数据可视化、教育和培训等等…

常用的数据结构及算法

一、数据结构 (一)线性结构:一对一。 1.可以使用数组、链表来表示。数组又分为静态数组和动态数组两种。链表常用的是单链表。 2.两种特殊的线性结构:队列和栈。其中队列是先进先出(排队),栈…

SpringBoot3 集成Springdoc 实现Swagger3功能

说明: 只通过引用org.springdoc 的两个包就可以使用Swagger3 功能(步骤1);如想更美观及实现动态认证的开启与关闭,及Swagger3登录认证等功能,需实现(步骤1、2、3)的配置; 1、 引包…

chrome浏览器查看css样式

样式的查看 1.匹配器为灰色文本: 表示非当前选择器 2.样式有划线标识:CSS属性无效或未知 / 属性值无效 / 被其他属性覆盖的属性 3.属性以浅色文本显示且有感叹号提示:属性虽然有效,但由于CSS逻辑而没有任何影响 转自:…

2024HW --->蓝队面试题

这段时间在写横向移动,搞得鸽了很久(内网真的很玄学) 还没写完。。。 但是这不是准备HW了吗。小编也来整理一下自己收集到的题目吧!!! (仅为个人见解,不代表最终答案)&…

react中useState的值没有改变,而是旧的数值

问题背景 想实现点击按钮就改变数据的效果,但是在控制台的打印结果,总是上一次的修改情况,并不是最新的修改后的数据 代码: import { useState, useRef } from "react";// 实现sonA的数据传递给sonB const SonA () …

C语言联合体详解

下午好诶,今天小眼神给大家带来一篇C语言联合体详解的文章~ 目录 联合体 1. 联合体类型的声明 2. 联合体的特点 代码一: 代码二: 3. 相同成员的结构体和联合体对比 ​编辑4. 联合体大小的计算 5. 联合体的优点 联合体 1. 联合体…