本文将介绍如何使用ollama+qwen2实现对开源大模型的本地化部署,让每个有技术能力的企业都可以“套壳”大模型,在各自的专业领域内“遥遥领先“。在本案例中我将使用两个开源的软件:
- ollama:是一个轻量级可扩展的框架,它可以轻易地帮你管理本地的众多开源大模型,并支持众多的开源大模型,包括llama 3 、qwen2、gemma、codegemma、Mistral等,并允许用户自定义和创建自己的模型。
- open-webui:是一个开源的Web界面,用于同各种大语言模型进行交互,并可以同ollama所管理的大语言模型进行快速集成。它提供了一个用户界面,允许用户输入prompt指令,并获得所选择模型生成的响应,由于本地化部署,其返回的结果和人工反馈又可以做为人工标注的数据,对开源大模型进行微调和强化学习用的训练数据。
本文主要介绍如下内容:
- 安装ollama
- 选择并安装大模型
- 安装Open-WebUI
- 测试大语言模型效果
安装Ollama
首先,打开Ollama的官方网站(https://ollama.com/download),如下图所示,选择自己操作系统版本即可:
下载完成之后,双击安装,安装完成之后会在Mac上看到如下的图标,代表安装完成:
选择并安装大模型
在Ollama的官方网站有一个Models菜单,如下图所示:
点击即可看到Ollama所支持的所有大模型列表,这里的下拉列表有很多,大家可以自行研究:
在本例的部署中,我选择了两个7B左右参数的大模型:
- llama3: 8B,Ollama官网的大模型
- qwen2:7b,通义千问大模型
我所使用的电脑为13寸MacBook Pro,配置如下图所示:
在此配置下,经亲测,两个8B参数的大模型在不进行微调和强化学习的情况下,都运行流畅。如果想试验更好的模型,可以选择13b或70b的版本,当然占用的内存和GPU资源也会更高,13b最少内存要求为16G,大家可去测试下。
我们以qwen2为例,来介绍其部署指令,从上图点击“qwen2“进入该大模型的详细介绍页面,如下图所示:
点击红圈的按钮,即可复制指令,直接在命令提示符下运行即可,如下图所示,即会开始下载大模型并自动化完成部署:
安装完成之后,会马上有一个基于命令行的交互界面,可以输入prompt指令,并获得返回结果,如下图所示:
安装成功!!!
【安装llama3大模型,用同样的方法即可下载,这里不再描述】
安装Open-WebUI
安装Open- WebUI之前请先安装Docker,如果不了解Docker的请自行上网查询,本文将不再缀述Docker的安装和部署。
【一款自动化安装部署AI软件的工具,帮助那些不懂技术但又想体验强大AI软件功能的朋友们,同时也想节省安装部署时间的朋友们,小白也能完成安装,如果您有需要可以联系,V: HelloHx2016,备注: 优快云】
安装完Docker之后,我们将继续安装Open-WebUI,进入Open-WebUI的官网(https://docs.openwebui.com/getting-started/),开始安装,如下图所示:
如果将Ollama和OpenWebUI要部署在同一台主机上,请选择红框中的指令,如果是不同的主机请选择红框下方的内容:
- 同一主机部署
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
- 不同主机部署:这里要指明OLLAMA_BASE_URL参数,根据实际情况进行调整即可
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
- 安装完成之后运行http://localhost:3000,即可进入如下界面,首次运行需要注册:
安装成功.......
测试大语言模型效果
注意:大模型第一次运行响应比较慢,后面就会快些,当然也取决于硬件配置或是否用GPU。
1、测试llama3
2、测试qwen2
效果总结:
在对7B左右参数的大型模型进行测试后,我们发现它已经具备了识别人类指令并进行推理的基本能力。但是,由于模型规模和联网能力的限制,其回答问题的内容可能会出错。我相信经过模型微调等优化,一定能够获得更好的效果。
现在它就像是一个小学生毕业生,剩下的就是接受更专业领域的教育,以便能够在某个专业领域工作。