LLM|利用Ollama搭建个人本地知识库

最近一直想基于RAG(检索增强生成,Retrieval-Augmented Generation)和大预言模型(Large Language Model, LLM)技术搭建一套属于自己的个人知识库,以为会涉及到诸多复杂的流程,包括模型调用、界面开发等。今天找到了一点资料,发现特别简单,花了几分钟实现了一下,主要用到了三个软件:

  • Ollama
  • Docker
  • AnythingLLM

1 基本资料介绍

大预言模型已经很常见了,包括ChatGPT、Claude、通义千问等等,此处就不再过多介绍了,这里主要介绍用到的几个软件和基本技术。

1.1 RAG

检索增强生成(RAG)是指对大型语言模型输出进行优化,使其能够在生成响应之前引用训练数据来源之外的权威知识库。大型语言模型(LLM)用海量数据进行训练,使用数十亿个参数为回答问题、翻译语言和完成句子等任务生成原始输出。在 LLM 本就强大的功能基础上,RAG 将其扩展为能访问特定领域或组织的内部知识库,所有这些都无需重新训练模型。这是一种经济高效地改进 LLM 输出的方法,让它在各种情境下都能保持相关性、准确性和实用性。
RAG技术流程

与RAG并生的另一种技术叫监督式微调(SFT),是将LLM模型注入新的知识库并将模型本身进行训练以获得所需要的结果,需要有一定的硬件设备。两种技术并不矛盾,其实互相结合才是最好的解决方案。本文不对此过多介绍,具体可网上搜索相关概念。

1.2 Ollama

ollama是一个开源的大型语言模型服务工具,它允许用户在自己的硬件环境中轻松部署和使用大规模预训练模型。 Ollama 的主要功能是在Docker容器内部署和管理大型语言模型(LLM),使得用户能够快速地在本地运行这些模型。
Ollama官网地址:https://ollama.com/
Ollama官网

1.3 Docker

Docker 是一个软件平台,让您可以快速构建、测试和部署应用程序。Docker 将软件打包成名为容器的标准化单元,这些单元具有运行软件所需的所有功能,包括库、系统工具、代码和运行时。使用 Docker,可以将应用程序快速部署和扩展到任何环境中。

Docker官网地址:https://www.docker.com/

1.4 AnythingLLM

AnythingLLM是由Mintplex Labs Inc.开发的一个全栈应用程序,是一款高效、可定制、开源的企业级文档聊天机器人解决方案。 它能够将任何文档、资源或内容片段转化为大语言模型在聊天中可以利用的相关上下文。 AnythingLLM支持几乎所有的主流大模型和多种文档类型,可定制化,而且安装和设置简单。

2 实现流程

2.1 安装Ollama

  • 下载Ollama(网址:https://ollama.com/download

  • 下载直接一路Next即可

  • 在Ollama官网下载基准大预言模型,点击Models-Filter by name。我这里用的qwen2

我这里选择了qwen2:7b模型,大小为4.4G。

  • 双击图标,运行ollama。之后,打开终端,windows电脑:win+cmd;mac电脑:图标终端。粘贴刚刚复制的命令,回会车,即可自动下载模型(可能网络会有些问题)

  • 进一步,直接可以对话提问了。(不要关闭)

2.2 安装Docker

2.3 安装AnythingLLM

其实,AnythingLLM也有自己的界面,这里我们直接在Docker里面安装。

  • ctrl+Kcommand+K,搜索AnythingLLM,并点击Pull,自动开始下载

  • 下载好后,点击左侧栏目的Images,在右侧的镜像列表中点击AnythingLLM,再点击run启动镜像。
  • 配置端口号,随便输入个4位数即可(不要与现有的容器名和端口冲突即可)

  • 启动服务,跳转到浏览器

  • 选择Ollama,选择刚刚下载好的qwen2:7b模型,max token自己任取

  • 按如下选择,其他保持默认即可

  • 这里是选择的配置,其中:Embedding Preference是Embedding偏好的模型,这里默认选择的是AnythingLLM Embedder;Vector Database向量库默认选择LanceDB

  • 下一步输入邮件地址和用途,输入工作区名称,进入主页面

  • 点击左侧的“个人知识库”,即可开始对话。当然在这之前,我们先上传个人知识库
  • 点击上传按钮

  • 上传文档,移动到右侧工作区,并将文档向量化(本地执行),稍等一下即成功。

  • 回到主页面,选择“个人知识库“,开始对话。可以看到,结果还是很准的。

  • 可在设置里面调整工作区名称、头像、文档相似性阈值等信息

3 结论

本期属于不务正业,基于RAG的个人本地知识库搭建还是很简单的,后面尝试把专业相关的知识注入进去,方便自己的个人知识库检索。
—————————————
Over

  • 20
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值