构建本地大语言模型知识库问答系统

server/2024/9/19 21:10:15/ 标签: 语言模型

MaxKB

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.8k Stars 和超过 5,000 次下载。

2024 年 4 月 25 日 已有 3.5k Stars 。

在这里插入图片描述

MaxKB 的优点:

  • 多模型支持:支持对接主流的大模型,包括本地私有大模型(如 Llama 2)、OpenAI、通义千问、Kimi、Azure OpenAI 和百度千帆大模型等;
  • 开箱即用:支持直接上传文档、自动爬取在线文档,支持文本自动拆分、向量化,智能问答交互体验好;
  • 无缝嵌入:支持零编码快速嵌入到第三方业务系统。

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

下面介绍 快速部署 MaxKB 和 Ollama,并在 MaxKB 中接入 Ollama 的 LLM 模型,搭建基于大语言模型的本地知识库问答系统。

MaxKB 安装部署

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

部署方式二:Docker 安装。(Docker 部署不再赘述。)

docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data 1panel/maxkb
# 用户名: admin
# 密码: MaxKB@123..

选择使用 Docker 部署方式。注意设置挂载目录。

部署之后,界面如下:
在这里插入图片描述
使用教程:MaxKB 文档

MaxKB 支持嵌入到第三方系统中

在这里插入图片描述

Ollama

Ollama 是一个基于 Go 语言开发的简单易用的本地大语言模型运行框架。专为在本地运行大型语言模型而设计。该框架将模型权重、配置和数据整合到一个包中,优化了设置和配置细节,包括 GPU 使用情况,从而简化了在本地运行大型模型的过程。

可以将其类比为 docker(具有实现命令行交互中的 list,pull,push,run 等命令),事实上它也的确制定了类 docker 的一种模型应用标准,

官方提供了类似 GitHub,DockerHub 一般的,可类比理解为 ModelHub,用于存放大语言模型的仓库(有 llama 2,mistral,qwen 等模型,同时你也可以自定义模型上传到仓库里来给别人使用)。

在管理模型的同时,它还基于 Go 语言中的 Gin 框架提供了一些 Api 接口,让你能够像跟 OpenAI 提供的接口那样进行交互。

Ollama 安装

下载链接:https://ollama.com/download
在这里插入图片描述

  • macOS:https://ollama.com/download/Ollama-darwin.zip
  • Windows:https://ollama.com/download/OllamaSetup.exe
  • Linux:curl -fsSL https://ollama.com/install.sh | sh
  • Docker:https://hub.docker.com/r/ollama/ollama

模型管理

ollama 安装之后,与模型交互就是通过命令来进行的。

  • ollama list:显示模型列表
  • ollama show:显示模型的信息
  • ollama pull:拉取模型
  • ollama push:推送模型
  • ollama cp:拷贝一个模型
  • ollama rm:删除一个模型
  • ollama run:运行一个模型

运行大模型

ollama 安装之后,可以在本地一键启动大模型(模型仓库见: https://ollama.com/library):

ollama run qwen:1.8b  //这里使用千问1.8b https://ollama.com/library/qwen

启动之后可以直接在终端交互:
在这里插入图片描述
也可以使用 API 调用:

curl http://localhost:11434/api/generate -d '{"model": "qwen:1.8b","prompt": "你好","stream": false
}'

MaxKB + Ollama

http://host.docker.internal:11434/
在这里插入图片描述


http://www.ppmy.cn/server/27734.html

相关文章

前端html中iframe的基本使用

以下是一个比较复杂的 <iframe> 示例&#xff0c;展示了如何加载外部页面、控制样式和与 <iframe> 中加载的文档进行通信&#xff1a; <!DOCTYPE html> <html> <head><style>.iframe-container {position: relative;width: 100%;height: …

websocket 单点通信,广播通信

Websocket协议是对http的改进&#xff0c;可以实现client 与 server之间的双向通信&#xff1b; websocket连接一旦建立就始终保持&#xff0c;直到client或server 中断连接&#xff0c;弥补了http无法保持长连接的不足&#xff0c;方便了客户端应用与服务器之间实时通信。 参…

Docker容器:数据管理与镜像的创建(主要基于Dockerfile)

目录 一、Docker 数据管理 1、数据卷&#xff08;Data Volumes&#xff09; 2、数据卷容器&#xff08;DataVolumes Containers&#xff09; 二、容器互联&#xff08;使用centos镜像&#xff09; 三、Docker 镜像的创建 1、基于现有镜像创建 2、基于本地模板创建 3、基…

使用工具速记

文章目录 一、sqlyoy登录账号信息迁移二、idea导入之前的已配置的idea信息三、设置windows UI大小四、其他 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、sqlyoy登录账号信息迁移 工具(sqlyog上面菜单栏)->导入导出详情->选择要导出的账号…

Android Studio 调试:快速入门指南

作为一名Android应用开发人员&#xff0c;调试是你不可或缺的技能之一。通过调试&#xff0c;你可以定位和解决各种问题&#xff0c;包括崩溃、性能问题、UI错误等。在本文中&#xff0c;我们将分享一些实用的Android调试技巧&#xff0c;帮助你提高应用开发效率。 Android St…

GoLang Gin实际使用

所有代码同步到Admin/gitDemo - Gitee.comhttps://gitee.com/mec-deployment-team_0/git-demo/tree/dev/ 1.创建Gin框架 一般设计一个常规的web项目&#xff0c;都需要以下几个模块 runApp 主函数&#xff0c;运行整个项目routes 路由控制&#xff0c;管理跳转以及路由分组co…

kube-prometheus部署到 k8s 集群

文章目录 **修改镜像地址****访问配置****修改 Prometheus 的 service****修改 Grafana 的 service****修改 Alertmanager 的 service****安装****Prometheus验证****Alertmanager验证****Grafana验证****卸载****Grafana显示时间问题** 或者配置ingress添加ingress访问grafana…

「C++ 类和对象篇 15」C++中的私有成员

目录 一、C中私有成员的访问权限 二、私有成员的命名规范 三、C对于私有成员的访问是由编译器来检查的 一、C中私有成员的访问权限 C私有成员访问权限是基于类的&#xff0c;而不是基于对象的。 在 C 中&#xff0c;当你在类的成员函数内部访问私有成员时无论这个私有成员是属…

JavaScript基础(二)

JS语法结构——引入方式 js很明显可以是一个后缀名为js的文件&#xff0c;js的引入方式和css一样&#xff0c;也有三种方式。 1.外部 使用script表现&#xff0c;只不过增加一个src属性&#xff0c;把js文件的路径src属性中。 <script src "js文件路径">&l…

如何保证每次画出的都同一张人脸?AI绘画Stable Diffusion的Reference only教程

Ai绘画有一个很现实的问题&#xff0c;要保证每次画出的都是同一个人物的话&#xff0c;很费劲。 Midjourney就不必说了&#xff0c;人物的高度一致性一直得不到很好的解决。而在Stable Diffusion&#xff08;SD&#xff09;中&#xff0c;常用办法是通过同一个Seed值&#xf…

【PC游戏】【World of Warcraft 魔兽世界(法语版)】怀旧版 CD-ROM 安装及使用记录(一)

一、前言 正值最近暴雪和网易重修旧好之时&#xff0c;笔者在新加坡从一个宅男朋友nerd bro那里淘到了一套法语版的World of Warcraft&#xff0c;共5张CD-ROM光碟。该套光碟的发行年份是2005年&#xff0c;于欧盟制造。推荐的操作系统是Windows 2000或者Windows XP或者Mac OS…

python 笔记:cls VS self

cls&#xff1a; 用于类方法&#xff1a; cls 通常作为类方法&#xff08;用 classmethod 装饰&#xff09;中的第一个参数。它指代调用该方法的类本身&#xff0c;无论该类有没有被实例化访问类级别的属性和方法 通过 cls&#xff0c;可以访问类级别的属性和方法。可以通过 c…

[第五空间-2021]yet_another_mysql_injection

title:[第五空间 2021]yet_another_mysql_injection 查看网页源码 访问view-source:node4.anna.nssctf.cn:28356/?source 得到题目源码 <?php include_once("lib.php"); function alertMes($mes,$url){die("<script>alert({$mes});location.href{…

android 判断文件是否存在

在 Android 中&#xff0c;你可以使用 java.io.File 类来判断一个文件是否存在。下面是一个简单的示例代码&#xff1a; import java.io.File; public class FileChecker { public static boolean isFileExist(String filePath) { File file new File(fi…

【Jenkins】持续集成与交付 (五):Jenkins用户权限管理

🟣【Jenkins】持续集成与交付 (五):Jenkins用户权限管理 1、安装插件(Role-based Authorization Strategy)2、开启权限全局安全配置3、创建角色4、创建用户5、给用户分配角色6、测试权限💖The Begin💖点点关注,收藏不迷路💖 1、安装插件(Role-based Authorization …

word 表格 文字 上下居中

问题 word 表格 文字 上下居中 详细问题 笔者进行word 文档编辑&#xff0c;对于表格中的文本内容&#xff0c;如何进行上下居中&#xff1f; 解决方案 步骤1、选中需要进行操作的单元格 步骤2、右键 → \rightarrow →点击表格属性 步骤3、依次点击单元格 → \rightar…

12、Flink 的 Keyed State 代码示例

1、KeyedState 用例 import org.apache.flink.api.common.functions.AggregateFunction; import org.apache.flink.api.common.functions.ReduceFunction; import org.apache.flink.api.common.state.*; import org.apache.flink.api.common.typeinfo.TypeHint; import org.ap…

Java中的模版方法设计模式详解

Java中的模版方法设计模式详解 在Java编程中&#xff0c;设计模式是一种解决常见问题的最佳实践。其中&#xff0c;模版方法设计模式是一种行为设计模式&#xff0c;它定义了一个操作中的算法骨架&#xff0c;而将一些步骤延迟到子类中。这样可以使子类在不改变算法结构的情况…

社交媒体数据恢复:Soul

Soul数据恢复方法 在Soul这款社交软件中&#xff0c;如果您的聊天记录不小心被删除&#xff0c;是否还能恢复呢&#xff1f;以下是根据搜索结果整理出的Soul数据恢复方法。 方法一&#xff1a;使用Soul的备份和恢复功能 开启备份功能&#xff1a;首先&#xff0c;您需要确保…

PS证件照

证件照尺寸 小一寸&#xff1a;2.2cm*3.3cm 一寸&#xff1a;2.5cm*3.5cm 像素413*295 &#xff08;分辨率为300像素/英寸&#xff09; 比例5&#xff1a;7 二寸&#xff1a;3.5cm*4.9cm 二寸照相比例是4&#xff1a;3&#xff0c;像素是626*413 蓝底&#xff1a;R&a…