摘要: 最近KimiChat的火热,让很多人再次把目光聚焦于基于大模型的长文本处理。对于长度较长的文档问答,除了KimiChat所独有的200万字无损上下文,另一个解决方案则是检索增强生成(RAG,Retrieval-Augmented Generation)。现有的...
最近KimiChat的火热,让很多人再次把目光聚焦于基于大模型的长文本处理。对于长度较长的文档问答,除了KimiChat所独有的200万字无损上下文,另一个解决方案则是检索增强生成(RAG,Retrieval-Augmented Generation)。现有的大多数开源的RAG框架(例如LangChain、LlamaIndex),在部署时涉及到比较多的技术细节,使用门槛较高。相对之下,通过Ollama+AnythingLLM搭建一个基于RAG的问答系统的难度就低很多,本文将给出在Macbook上的具体搭建流程。
准备Ollama服务
下载和安装Ollama软件
Ollama 是一个专注于本地运行大型语言模型(LLM)的框架,它使得用户能够在自己的计算机上轻松地部署和使用大型语言模型,而无需依赖昂贵的GPU资源。Ollama 提供了一系列的工具和服务,旨在简化大型语言模型的安装、配置和使用过程,让更多人能够体验到人工智能的强大能力。
Ollama的下载和安装可以参考 快速在笔记本电脑中通过Ollama部署中文大模型
下载预训练模型
首先要通过Ollama下载预训练模型,这里需要下载两种模型:
gemma:2b
,官网介绍:https://ollama.com/library/gemma,这是谷歌最近开源的一个LLM。nomic-embed-text
,官网介绍:https://ollama.com/library/nomic-embed-text,这是一个 embedding model。
下载的命令如下:
ollama pull gemma:2b
ollama pull nomic-embed-text:latest
启动Ollama服务
执行如下命令,会在本地的11434端口启动一个服务,供AnythingLLM调用:
ollama serve
配置AnythingLLM
下载AnythingLLM
AnythingLLM是一个基于RAG(Retrieval-Augmented Generation)方案构建的开源、高效、可定制的私有知识库解决方案。本文使用的AnythingLLM的Desktop版本,首先从官网(https://useanything.com/ )下载安装包,下载后直接点击即可安装。
安装完毕后点击Get started
开始配置。
配置LLM
这里选择Ollama作为后台的服务,URL这里填写http://127.0.0.1:11434
,也就是前面Ollama启动的服务端口,填写后LLM模型选择gemma:2b
配置Embedding Model
这里同样选择Ollama作为后台的服务,URL这里同样填写http://127.0.0.1:11434
,填写后Embedding Model选择nomic-embed-text:latest
配置Vector Database
Vector Database选择默认的第一个LanceDB
以上三个关键配置完成后,就可以开始使用AnythingLLM了。
文档库的创建与测试
创建文档库
点击New Workspace
新建文档库,并填写名称
点击按钮开始添加文档
我们使用的文档是paul_graham_essay.txt
,这个文档也可以从github上下载:https://github.com/xinsblog/try-llama-index/blob/master/data/paul_graham_essay.txt 。
添加文档后还要将文档Move to Workspace
然后点击Save and Embed
出现Workspace updated successfully
就表示配置已经完成
开始测试
回到主页面,输入问题What did the author do in 9th grade?
几秒钟后就可以看到,AnythingLLM给出的回答: