本地部署Llama3并构建私人知识库进行问答

Meta于上个月发布了Llama3大语言模型,其技术文档里提到,Llama3 8B版本的性能相比同规模的开源模型强出不少,而后网友测试显示Llama3 70B的性能甚至不逊于早期版本的GPT4。开源、可本地运行的大语言模型给了我们更多关于LLM使用场景的想象。包括但不限于:

  • 在本地与GPT3.5级别的LLM聊天;

  • 调用本地模型的api进行文本分析,如情感识别、文本分类;

  • 构建私人知识库,进行问答。

在最新的大模型竞技场中(https://huggingface.co/spaces/lmsys/chatbot-arena-leaderboard),Llama3 70B的排名在GPT-4-0314之前,Llama3 8B也超越了GPT-3.5-Turbo。

现在,就让我们在本地部署Llama3 8B并构建私人知识库,进行简单试用吧!

我的设备:2021款 Macbook Pro 16G + 1T,处理器为M1 Pro基础款。

其实我更想在本地部署Llama3 70B,但这需要发动钞能力,而我目前只是个社科土博,等后面吧。

1 利用Ollama和Open WebUI使用本地LLM

1.1 基于Ollama本地部署Llama3 8B

Ollama是一个简易的LLM本地部署工具,可直接在Ollama官方网站下载安装。

Ollama官方网址:https://ollama.com/

Ollama的Github仓库:https://github.com/ollama/ollama

Ollama官方提供了许多模型供大家部署,在模型页面,可以找到Llama3,我这里下载的是8B的instruct版本,大小为4.7GB:

Terminal运行ollama run llama3:70b,等待模型在本地部署完成。模型部署完成后已经可以在终端进行对话了,但过于简陋,我们可以用WebUI装潢一下。

1.2 部署Open WebUI

Open WebUI也是一个Github项目,它对基于Ollama部署的模型,提供了类ChatGPT的UI支持!

Github仓库:https://github.com/open-webui/open-webui

在这里,我们使用Open WebUI官方推荐的Docker安装方式(相见官方文档):

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main   

安装完成后,在浏览器3000端口可以打开WebUI,注册登陆,网站布局是不是很熟悉?和ChatGPT很像!在设置里,Connections填写Ollama的地址:http://host.docker.internal:11434

在对话之前,点击顶部的+选择模型。如果使用Ollama安装了多个模型,则都会显示出来。

我们测试几个问题,由于Llama3对中文的支持比较差,我们在提问时,需要加上让它使用中文回答的提示词:

可以发现,它对这个问题的回答,给了我们熟悉的GPT3.5的感觉,本质就是胡说八道

再问一个:

再来挑战几个弱智吧问题,居然回答得还不错:

如果使用英语提问,并且问题不涉及事实问题,它的回答质量会高很多:

即使在GPT时代,用好英语,仍然非常有必要。

1.3 Llama3 对话体验

就Llama3 8B而言,我感觉使用体验已经很不错了,对话流畅度完全没有问题,配合文本转语音,日常练习口语非常可用!

如果可以在本地部署Llama3 70B的话,使用体验会更上一层楼。我在Groq试用过Llama3 70B,其对于涉及事实问题的回答会好很多:

2 构建私人知识库并进行问答

现在市面上有许多基于RAG(检索增强生成,Retrieval-Augmented Generation,RAG)的工具,方便构建本地知识库,并进行问答。我试用过的有:

Dify:https://github.com/langgenius/dify

ChatOllama:https://github.com/sugarforever/chat-ollama

MaxKB:https://github.com/1Panel-dev/MaxKB

整体而言,使用体验都比较差!!!但作为一种可能的方向,或许在未来有很大的改进效果,这里先以MaxKB试试看。

2.1 部署MaxKB

使用MaxKB官方提供的一键安装命令即可:

docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data 1panel/maxkb      # 用户名: admin   # 密码: MaxKB@123..   

安装完成后,可以在本地的8080端口打开,登陆信息使用默认的就行:

进入后,在设置里,“模型设置”添加Ollama部署的Llama3,信息如下,其中API Key可以随便填:

现在,我们已经完成了简单配置,已经可以使用MaxKB进行问答了(也就是说,MaxKB也可以作为简单的UI使用):

2.2 搭建私人知识库并进行问答

在这里,我简单构建了两个知识库,一个是我的博客,一个是一个特定主题的10篇论文,按要求提交内容即可:

自动获取的博客内容如下:

导入pdf后,MaxKB需要一段时间进行文档处理:

现在,进行问答试试,先配置一下:

在问题和文档强相关,尤其是直接涉及知识库论文的标题的时候,它是会索引知识库内容的,但回答的结果质量不高:

何为Missing women这个问题,我在博客有直接的内容,但它在回答时并没有引用:

再用中文试一次,效果仍然比较差:

3 总结

最新的Llama3,基础版本在对话方面,已经非常可用,相当于本地有了一个随时可以聊天的助手。

在构建私人知识库进行问答方面,我试的几个工具,目前都还处于不太可用的状态,我调过一些参数,也尝试了使用Markdown文本的知识库,都不OK。

期待早日这类工具能更完善些,或者LLM运营商提供私人知识库服务。

更期待Llama3 70B级别的LLM能在本地便捷地运行起来。

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员二飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值