利用大模型技术,打造本地个人专属知识库

news2024/11/25 16:38:10

文章目录

  • 利用大模型技术,打造本地个人专属知识库
    • 一 简介
    • 二 部署
      • 2.1 硬件要求
      • 2.2 部署信息
      • 2.3 通过docker部署、启动Ollama
      • 2.3 进入Ollama容器、拉取qwen2:7b模型
      • 2.4 测试Ollama
      • 2.5 通过docker部署、启动MaxKB
      • 2.6 登录MaxKB管理后台
      • 2.7 MaxKB系统配置
      • 2.8 创建知识库、导入文档
      • 2.9 设置分段规则
      • 2.10 创建应用
      • 2.11 创建API Key,演示
    • 三 总结
    • 四 参考文献

利用大模型技术,打造本地个人专属知识库

一 简介

预训练的大型语言模型已经成为推动自然语言处理领域进步的关键力量。这些模型凭借其强大的语境理解、生成和交互能力,在信息检索、知识管理、创意辅助等多个领域展现出巨大潜力。然而,当前大多数应用依赖于云端服务,用户数据需上传至远程服务器进行处理,这不仅涉及隐私安全问题,也对网络环境有较高要求。鉴于此,利用主流开源大模型技术,构建一套运行于本地环境的个人专属知识库系统,整合个人积累资源,实现知识的高效管理、个性化学习与创作辅助,同时保障用户数据的私密性与安全性与充分应用本地计算资源。

MaxKB 是一款基于 LLM 大语言模型的知识库问答系统。支持直接上传文档、自动爬取在线文档,支持文本自动拆分、向量化、RAG(检索增强生成),智能问答交互体好。支持零编码快速嵌入到第三方业务系统。支持对接主流的大模型,包括 Ollama 本地私有大模型(如 Meta Llama 3、qwen 等)、通义千问、OpenAI、Azure OpenAI、Kimi、智谱 AI、讯飞星火和百度千帆大模型等。除了服务启动以外,所有操作都通过网页交互完成,不懂编程的用户(如客服、运营)也可以快速上手使用。

Ollama是一个开源的框架,专注于让开发者能够在本地机器上轻松部署和运行大型语言模型(LLMs)。本框架使用Go语言编写,设计灵感部分来源于Docker的使用体验,提供了类似list, pull, push, run等命令行交互功能,便于模型的管理。此外,Ollama还拥有活跃的社区贡献,不断有新的模型和功能被加入,通过PR(Pull Requests)等方式提升框架的功能性和兼容性。Ollama作为一个本地大语言模型运行框架,降低了运行复杂语言模型的门槛,让开发者和研究人员能够在本地环境中快速实验和迭代,无需依赖云端服务,提高了工作效率和数据安全性。

MaxKB、Ollama实现原理本质上是RAG,如下图所示:
在这里插入图片描述

二 部署

2.1 硬件要求

最低计算资源要求:2逻辑核4GB内存 ;7B:至少8GB内存能流畅运行;14B:至少16GB内存能流畅运行;72B :至少64GB内存能流畅运行。

2.2 部署信息

操作系统DockerMaxKBOllama
Ubuntu 22.04.3 LTSDocker Engine - Community 25.0.3v1.2.1v0.1.46

2.3 通过docker部署、启动Ollama

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:0.1.46

2.3 进入Ollama容器、拉取qwen2:7b模型

docker exec -it ollama /bin/bash
ollama pull qwen2:7b

在这里插入图片描述

2.4 测试Ollama

ollama run qwen2:7b

在这里插入图片描述

curl http://localhost:11434/api/chat -d '{
  "model": "qwen2:7b",
  "messages": [
    { "role": "user", "content": "请问10086是什么号码?" }
  ]
}'

2.5 通过docker部署、启动MaxKB

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

2.6 登录MaxKB管理后台

默认用户名为admin,密码为:MaxKB@123…,登录成功后可修改。
在这里插入图片描述

2.7 MaxKB系统配置

在这里插入图片描述
添加成功后显示如下:
在这里插入图片描述

2.8 创建知识库、导入文档

在这里插入图片描述

2.9 设置分段规则

在这里插入图片描述
知识库创建成功如下图所示:
在这里插入图片描述

2.10 创建应用

在这里插入图片描述

2.11 创建API Key,演示

在这里插入图片描述

三 总结

通过开源、免费的大模型技术,结合本地环境实际情况,快速搭建一套基于大模型的知识库问答系统,实现知识的高效管理、个性化学习与创作辅助,保障用户数据的私密性与安全性与充分应用本地计算资源。此外,MaxKB还提供了一系列的API接口,方便第三方系统集成,实现零编码快速嵌入到业务系统中。Ollama作为一个本地大模型运行框架,降低了运行复杂语言模型的门槛,让开发者和研究人员能够在本地环境中快速实验和迭代,无需依赖云端服务,提高了工作效率和数据安全性。

本次实践过程中仅使用了基于CPU的大模型版本,鉴于大部分同事的算力有限,使用的基础大模型版本为qwen2:7b,后续计划尝试使用基于GPU的大模型版本,提升系统的处理速度。MaxKB还提供了一系列的功能,如知识库管理、文档管理、问答交互、知识图谱、语音交互等,可以根据实际需求进行选择和使用。最后,希望本次实践能够为大家提供一些启发,在大模型相关产品设计、应用、落地等方面提供一些参考。

四 参考文献

[1] 基于 LLM 大语言模型的知识库问答系统 MaxKB.

[2] MaxKB 官方开源仓库.

[3] Ollama官方网站.

[4] Ollama官方开源仓库.

[5] 基于Ollama+MaxKB快速搭建企业级RAG系统

[6] 搭建本地大模型,最简单的方法!效果直逼GPT

[7] 使用 Ollama 和 Weaviate 构建用于隐私保护的本地 RAG 系统.

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

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

相关文章

第56期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

一种自定义SPI通信协议

本文介绍一种自定义SPI通信协议。 项目开发过程中,有时候会涉及到主处理器或FPGA和MCU之间的SPI通信,涉及到通信就需要考虑通信协议,本文给出一种简单的通信协议。 1.协议格式 协议格式如下图。 其中,将40 bit划分为2大部分&am…

Spring Boot 过滤器和拦截器详解

目录 Spring Boot 过滤器1.什么是过滤器2.工作机制3.实现过滤器 Spring Boot 拦截器1. 什么是拦截器2. 工作原理3.实现4.拓展(MethodInterceptor 拦截器)实现 过滤器和拦截器区别过滤器和拦截器应用场景过滤器拦截器 Spring Boot 过滤器 1.什么是过滤器 …

OpenCV视觉--视频人脸微笑检测(超详细,附带检测资源)

目录 概述 具体实现 1.加载分类器 2.打开摄像头并识别人脸 3.处理人脸并检测是否微笑 效果 总结 概述 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,广泛应用于图像处理和视频分析等领…

精密机器中的交叉导轨负荷与容许负荷的差异!

交叉导轨的设计和制造过程中,负荷及容许负荷是至关重要的参数,只有准确计算出交叉导轨的载荷,才能保证交叉导轨的稳定性和使用寿命。 负荷和容许载荷是两个不同的参数,那这两者的有什么差异呢? 交叉导轨的负荷是指其承…

[深度学习] 前馈神经网络

前馈神经网络(Feedforward Neural Network, FFNN)是人工神经网络中最基本的类型,也是许多复杂神经网络的基础。它包括一个输入层、一个或多个隐藏层和一个输出层。以下是详细介绍: 1. 结构 1. 输入层(Input Layer&am…

在微信小程序中使用svg图标

在项目中引入图标组件是很常见的一个问题&#xff0c;但是这里我在小程序中引入图标组件的时候报错了&#xff01; 这个主要原因是 微信小程序上不支持 SVG 字体图标&#xff01; <image src"./xx.svg"/>所以参考微信开放社区 我们想要在微信小程序中使用svg图…

java基于ssm+jsp 电子商城系统

1管理员功能模块 管理员登录&#xff0c;通过填写用户名、密码进行登录&#xff0c;如图1所示。 图1管理员登录界面图 管理员登录进入电子商城系统可以查看个人中心、用户管理、医生管理、药品信息管理、线上诊疗管理、医生信息管理、管理员管理、论坛管理、系统管理、订单管…

智慧数据中心可视化:高效管理与直观监控的未来

随着数据中心的规模和复杂性不断增加&#xff0c;传统管理方式难以满足需求。智慧数据中心通过图扑可视化实现实时数据监控和智能分析&#xff0c;将复杂的基础设施直观呈现&#xff0c;极大提升了运维效率、故障排查速度和资源优化能力&#xff0c;为企业提供现代化、智能化的…

卡尔曼滤波公式推导笔记

视频见B站上DR_CAN的卡尔曼滤波器 【卡尔曼滤波器】3_卡尔曼增益超详细数学推导 &#xff5e;全网最完整_哔哩哔哩_bilibili

4. node联调devtools

4. node联调devtools 把node代码放在开发者工具执行代码执行命令 node --inspect-brk js文件浏览器执行命令 chrome://inspect/#devices检测到文件之后会有个点击选项,点击进入就能调试自己的代码 有了开发者工具调试之后我们可以给自己的吐环境脚本在完善一下,当获取的参数是…

实力认可!安全狗受聘成为福建省网信系统2024年度网络安全技术支撑单位

6月6日&#xff0c;福建省委网信办组织召开福建省网信系统2024年度网络安全技术支撑单位座谈会。 作为国内云原生安全领导厂商&#xff0c;安全狗也受邀出席此次活动。 省委宣传部副部长、省委网信办主任、省互联网信息办公室主任张远出席会议并颁发支撑单位证书。安全狗凭借出…

Java面向对象特性

Java继承&#xff1a; 继承的概念&#xff1a; 在Java中&#xff0c;继承&#xff08;inheritance&#xff09;是面向对象编程的一个重要概念&#xff0c;它允许一个类&#xff08;子类&#xff09;继承另一个类&#xff08;父类&#xff09;的属性和方法。通过继承&#xff0c…

Java养老护理助浴陪诊小程序APP源码

&#x1f496;护理助浴陪诊小程序&#x1f496; 一、引言&#xff1a;养老新趋势&#x1f331; 在快节奏的现代生活中&#xff0c;养老问题逐渐成为了社会关注的焦点。如何为老年人提供便捷、贴心的服务&#xff0c;让他们晚年生活更加安心、舒适&#xff0c;是我们每个人都需…

BUUCTF--WEB

首頁 - OWASP Top 10:2021 [极客大挑战 2019]EasySQL 类型:sql注入 使用万能密码 flag{f580db5b-c0c9-4b13-bfb6-adfa525c93f5} [极客大挑战 2019]Havefun 类型:代码审计 F12打开浏览器控制台 GET请求,在url添加参数/?cat=dog访问 返回flag{f60c7d5c-9f44-4e92-88c0…

驱动LSM6DS3TR-C实现高效运动检测与数据采集(6)----FIFO数据读取与配置

驱动LSM6DS3TR-C实现高效运动检测与数据采集.6--FIFO数据读取与配置 概述视频教学样品申请源码下载主要内容生成STM32CUBEMX串口配置IIC配置CS和SA0设置ICASHE修改堆栈串口重定向参考驱动程序FIFO参考程序初始化管脚获取ID复位操作设置量程BDU设置设置速率FIFO读取程序设置FIFO…

鸿蒙开发 之 健康App案例

1.项目介绍 该项目是记录用户日常饮食情况&#xff0c;以及针对不同食物摄入营养不同会有对应的营养摄入情况和日常运动消耗情况&#xff0c;用户可以自己添加食品以及对应的热量。 1.1登陆页 1.2饮食统计页 1.3 食物列表页 2.登陆页 2.1自定义弹框 import preferences from oh…

词向量模型

文章目录 RNN词向量模型模型整体框架训练数据构建CBOW与Skip-gram模型负采样 RNN 卷积神经网络&#xff08;CNN&#xff09;主要应用计算机视觉&#xff0c;而递归神经网络&#xff08;RNN&#xff09;主要应用于自然语言处理。 递归神经网络会涉及处理之前所有的数据&#x…

Linux高级编程——线程

pthread 线程 概念 &#xff1a;线程是轻量级进程&#xff0c;一般是一个进程中的多个任务。 进程是系统中最小的资源分配单位. 线程是系统中最小的执行单位。 优点&#xff1a; 比多进程节省资源&#xff0c;可以共享变量 进程会占用&am…

【漏洞复现】金和OA 未授权访问

【产品介绍】 金和OA协同办公管理系统C6软件&#xff08;简称金和OA&#xff09;&#xff0c;本着简单、适用、高效的原则&#xff0c;贴合企事业单位的实际需求&#xff0c;实行通用化、标准化、智能化、人性化的产品设计&#xff0c;充分体现企事业单位规范管理、提高办公效…