以下是关于本地部署大模型搭建个人知识库的详细步骤:
一、Ollama 的安装以及大模型下载
安装完成 Ollama 后,在命令行中运行如下命令即可:[model name]为您想运行的本地大模型的名称。若不知如何选择,可通过model library查看。这里以 llama2 大模型为例:llama2。考虑机器配置及不同版本的内存要求,可选择 7b 参数的模型。运行大模型时,Ollama 会自动下载大模型到本地。
二、RAG 是什么
利用大模型的能力搭建知识库属于 RAG 技术的应用。在进行本地知识库的搭建实操前,需对 RAG 有大概了解。大模型的训练数据有截止日期,当需要依靠不在训练集中的数据时,主要通过检索增强生成 RAG(Retrieval Augmented Generation)实现。RAG 的应用可抽象为 5 个过程:
三、通过 Open WebUI 使用大模型
当安装完成ollama之后,我们就可以在命令行中运行如下命令既可以其中[model name]就是你想运行的本地大模型的名称,如果你不知道应该选择哪个模型,可以通过[model library](https://ollama.com/library)进行查看。这里我们选择llama2大模型:[llama2](https://ollama.com/library/llama2)考虑到我机器的配置以及不同版本的内存要求,我这里选择7b参数的模型当我们运行大模型的时候,ollama会自动帮我们下载大模型到我们本地。
因为利用大模型的能力搭建知识库本身就是一个RAG技术的应用。所以在进行本地知识库的搭建实操之前,我们需要先对RAG有一个大概的了解。以下内容会有些干,我会尽量用通俗易懂的描述进行讲解。我们都知道大模型的训练数据是有截止日期的,那当我们需要依靠不包含在大模型训练集中的数据时,我们该怎么做呢?实现这一点的主要方法就是通过检索增强生成RAG(Retrieval Augmented Generation)。在这个过程中,首先检索外部数据,然后在生成步骤中将这些数据传递给LLM。我们可以将一个RAG的应用抽象为下图的5个过程:文档加载(Document Loading):从多种不同来源加载文档。LangChain提供了100多种不同的文档加载器,包括PDF在内的非结构化的数据、SQL在内的结构化的数据,以及Python、Java之类的代码等文本分割(Splitting):文本分割器把Documents切分为指定大小的块,我把它们称为“文档块”或者“文档片”存储(Storage):存储涉及到两个环节,分别是:将切分好的文档块进行嵌入(Embedding)转换成向量的形式将Embedding后的向量数据存储到向量数据库检索(Retrieval):一旦数据进入向量数据库,我们仍然需要将数据检索出来,我们会通过某种检索算法找到与输入问题相似的嵌入片
1.首先访问如下网址当你打开这个页面的时候,会让你登陆,这个时候我们随便使用一个邮箱注册一个账号即可1.和本地大模型进行对话登陆成功之后,如果你已经使用过ChatGPT等类似的大模型对话网站,我相信你对这个页面并不陌生。Open WebUI一般有两种使用方式第一种是聊天对话第二种是RAG能力,也就是可以让模型根据文档内容来回答问题。这种能力就是构建知识库的基础之一如果你的要求不高的话,我们已经搭建了一个本地大模型了,并且通过Web UI实现了和大模型进行对话的功能。相信通过这么一通折腾,你就理解了ChatGPT的信息流,至于为什么ChatGPT的访问速度比我们自己的要快,而且回答效果要好,有两个原因快:是因为GPT大模型部署的服务器配置高好:是因为GPT大模型的训练参数多,数据更优以及训练算法更好如果你想要更加灵活的掌握你的知识库,请接着往下看