Ollama+Docker部署本地的大模型
进击的AI 2024-08-26 14:31:05 阅读 100
目录
1、Ollama
1.1、终端运行
1.2、Pycharm运行
1.3、Docker启动
1、Ollama
Ollama是一个开源的大型语言模型服务工具,它帮助用户快速在本地运行大模型。用户可以通过简单的安装指令,在本地运行开源大型语言模型。可以理解为一个类似于封装好大模型的平台。
网址:https://ollama.com/
针对自己的系统下载不同版本的软件,我的电脑是Windows的,所以下载Windows版本的,其实其它版本的也都一样,Ollama是不需要配置的,它其实是一个软件,在后台运行的一个程序。如下所示。
下载完后正常安装就行,路径什么的可以自己修改,也可以用默认的。安装完后Ollam是自动启动的,就像上图那样在后台运行着。
1.1、终端运行
(1)首先介绍一下如何通过终端运行。现时打开终端。WIN + R打开运行栏,然后输入cmd进入终端。
(2)在Ollama网站找到适配自己电脑的模型,例如我的电脑显卡是3070ti,显存是8G,只能运行7B的模型,所以我选择了qwen的7B模型进行下载运行。
(3)选择qwen-7B的模型然后在终端输入红框的命令,模型下载并运行。
ollama run qwen:7b
等待模型下载完,期间可能有点慢,然后模型就会运行起来,这样你就可以在终端进行聊天对话了。
这时其实模型已经下载在本地了,我的路径如下。
终端按Ctrl + d退出聊天,然后可以再输入ollama run qwen:7b这个命令就可以再进行对话了。
1.2、Pycharm运行
这种方式主要是通过python调用的方式来实现,程序很简单,如下代码所示。
from langchain_community.llms import Ollama
llm = Ollama(model="qwen:7b")
response = llm.invoke("who are you")
print(response)
代码需要安装langchain_community这个依赖。
pip install langchain_community
回答的结果如下。
只需要修改llm.invoke中的问题即可得到回答。
1.3、Docker启动
Docker是一组平台即服务(PaaS)的产品。它基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。托管容器的软件称为Docker引擎。Docker能够帮助开发者在轻量级容器中自动部署应用程序,并使得不同容器中的应用程序彼此隔离,高效工作。该服务有免费和高级版本。它于2013年首次发布,由Docker, Inc. 开发。
可以理解为将一些程序以服务的方式来打包,可以通过接口来调用。
用docker的方式也很简单,按如下步骤进行。
(1)下载docker软件
地址:https://www.docker.com/get-started/
网盘下载地址:https://pan.baidu.com/s/1cg1doewzDSmvTlLWMve8Pw?pwd=yf5o
根据自己的系统下载版本。下载完后直接安装即可。
然后运行软件,不用登陆,进入如下页面。
(2)安装Docker软件
在终端输入docker --version命令出现如下即为安装成功。
然后通过一个开源框架open-webui来实现界面显示对话,类似于ChatGPT。
(3)启动Docker
我们通过一个开源框架open-webui来实现界面显示对话,类似于ChatGPT。
open-webui的网址:https://github.com/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
后面还有许多启动方法,可以自己看一下。启动完后打开docker的软件就会有红色框的显示,打开网址即可进入页面。
打开网页可以注册一个自己的账号,如下所示。
注册后选择一个第一种方法安装好的模型加载进来就可以进行聊天了。
同时还可以上传文件,大模型也可以回答你上传文件的内容。
同时也可以删除或停止docker。
以上就是利用Ollama+Docker的方式启动大模型,后续还会继续分享open-webui这个框架的应用。
上一篇: 深入理解变分图自编码器(VGAE):原理、特点、作用及实现
下一篇: Pyro简介 贝叶斯神经网络bnn , 隐马尔可夫模型 人工智能python python 概率分布程序包的使用教程
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。