文章目录
- 利用大模型技术,打造本地个人专属知识库
- 一 简介
- 二 部署
- 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 部署信息
操作系统 | Docker | MaxKB | Ollama |
---|---|---|---|
Ubuntu 22.04.3 LTS | Docker Engine - Community 25.0.3 | v1.2.1 | v0.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 系统.