分享

搭建本地大模型和知识库,最简单的方法

 旅行者m1 2024-03-23 发布于辽宁

视频号:黄益贺YouTube / Medium: huangyihe以下为视频内容的文字版

在本地跑开源大模型,目前最好的软件肯定是Ollama。

不管你用的是PC、Mac,甚至是树莓派,都能通过Ollama运行大大小小的模型。而且扩展性极强。

我准备分几期详细介绍Ollama的用法。今天这期,先介绍三点:

怎么用Ollama在本地运行大模型。

在跑本地大模型的同时,使用像ChatGPT那样的Web UI。

打造完全本地化的知识库。

大家如果有更好的建议,或者在安装和使用过程中有什么问题,可以到newtype知识星球来找我。

Ollama

安装Ollama超级简单。到官网ollama.com或者.ai下载对应版本就行。安装完成之后,在终端里输入ollama run,后边接想要运行的大模型名称就行。比如:ollama run llama2。这时系统会自动下载对应的大模型文件。

如果你不确定大模型的名称,到官网的model子页面就能找到目前所有支持的大模型。每一款大模型都有不同的版本,根据你的需求、机器的内存大小,选择对应版本,然后复制命令就行。

一般来说,7b的模型至少需要8G RAM,13b需要16G,70b需要64G。大家量力而为,不然跑起来真的非常卡顿。

在默认情况下,你需要在终端里与大模型做交互。不过这种搞法真的太古老了。我们肯定是希望在一个现代的、图形化的界面里操作。这时候就要用到Open WebUI了。

Open WebUI

要安装Open WebUI,需要先安装Docker。

你可以把Docker简单理解为就是一个虚拟的容器。所有应用和依赖都打包成一个容器,然后再在系统上运行。

Docker搞定之后,复制GitHub里的这行命令到终端里执行。一切顺利的话,打开一个本地链接,就能看到非常眼熟的界面了。

这个WebUI,除了具备基本的聊天功能之外,还包含了RAG能力。不管是网页还是文档,都可以作为参考资料给到大模型。

你如果想让大模型读取网页内容的话,在链接前面加个#就行。

你如果想让大模型读取文档的话,可以在对话框的位置导入,也可以在专门的Documents页面导入。

在对话框里输入#,会出现已经导入的所有文档。你可以选中一个,或者干脆让大模型把所有文档都作为参考资料。

如果你的要求不是太高,那么做到这一步就OK了。如果你想对知识库有更多的掌控,就下载这个软件:Anything LLM。

AnythingLLMOllama其实有两种模式:

聊天模式

服务器模式

所谓服务器模式,你可以简单理解为,Ollama在后端运行大模型,然后开放一个端口给到别的软件,让那些软件可以调用大模型的能力。

要开启服务器模式非常简单。在终端里输入两个单词:ollama serve。

启动之后,把这个默认链接填到Anything LLM里。这时,软件会通过链接读取可以加载的模型。这些模型是用来生成内容的模型。

除此之外,搭建一个知识库,会涉及到另外两个关键:

Embedding Model,嵌入模型。它负责把高维度的数据转化为低维度的嵌入空间。这个数据处理过程在RAG中非常重要。

Vector Store,向量数据库,专门用来高效处理大规模向量数据。

这两个我们都用默认的。这样一来,整套系统都跑在你的电脑上。当然,你也可以选择全部跑在云端,比如,大模型和嵌入模型都用OpenAI的,向量数据库用Pinecone,都可以。

完成最基础的三个设置之后,就可以进入主界面了。这款软件的逻辑我挺喜欢的,它有一个Workspace的概念。在每一个Workspace内部,可以创建各种聊天窗口,可以导入各种文档。

所以,你可以根据项目来创建Workspace,一个项目建一个。然后,把关于这个项目的所有文档、所有网页都导入Workspace。最后,聊天模式还有两种可以设置:

对话模式:大模型会根据你给的文档,以及它本来就有的知识储备,综合起来回答。

查询模式:大模型只是简单地针对文档进行回答。

这个就是我前边说的,Anything LLM比Open WebUI更进阶的地方,完全可以满足个人对知识库的需求。我已经把它作为我在桌面端Workflow的核心。

等这两期视频做完,我专门出一期,讲讲我目前在用的AI工具和工作流吧。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多