AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


LLM|利用Ollama搭建个人本地知识库
发布日期:2024-07-16 07:20:28 浏览次数: 4268 来源:科技代表


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

  • Ollama
  • Docker
  • AnythingLLM

1 基本资料介绍

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

1.1 RAG

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

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

1.2 Ollama

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

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

  • 下载Docker,网站:https://www.docker.com/
  • 直接安装即可,非常简单
  • 双击运行

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的个人本地知识库搭建还是很简单的,后面尝试把专业相关的知识注入进去,方便自己的个人知识库检索。 


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询