社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

316. 安装 ollama 大模型、搭建 docker 环境

第二大脑与知识管理 • 6 月前 • 192 次点击  
先说下哈,我不是电脑工程师,下面要说的,都是我自己的理解,说的不一定对,专家请忽视。
AppImage 格式
上期提到 AppImage,从名字上就能看出来,这是一种镜像文件,使用上和手机 app 类似。不需要安装,你只要把它放在一个文件夹里就能运行;也不用卸载,只要删除文件夹就行。
几乎所有的开源软件都有 AppImage 版本,我本地的 logseq 就是用的这种格式。
另外,firefox 也是开源软件,也有 AppImage 版本。按上期的方法,卸载掉 snap 之后,也可以安 AppImage 版本的。
不过,浏览器是一个系统中很重要的组件,考虑到后面会访问系统的各个端口,还是安一个“正常”版本的更方便。
啥是端口,下面会单独提到。
回到本期 ...
桌面之下:命令行
操作系统中,有不同的层次,大多数时候,我们用到的是图形界面,也被称为“桌面”。
桌面层次的好处是,有所有操作都看见,所有的动作,都被具象化,和现实生活差不多,你可能把一个文件像现实世界一样,拿来拿去。
在桌面之下,还有另外几个维度的世界。
其中之一,就是黑底白字的命令行界面,windows 系统里也有。
命令行界面,只能用命令来操作系统,开始用的时候,总觉得用文字操作不如图形界面方便,其实,文字命令比鼠标更方便,尤其是操作大规模文件时,比如这样:
rm *.txt 
这么几个字,就可以把当前文件夹里的所有 txt 文件都给删掉。
还记得前几天误操作,把本地大模型全部干掉的那件事吧?也是一行代码。
还有,命令行里删文件,并不会进入回收站,所以这个操作没有后悔药
安装 ollama
命令行,一行代码,可以删除一个世界。
命令行,一行代码,也可以创造一个世界。
访问 ollama 官网:https://ollama.com/download/。
如果是 linux 系统的话,运行这条命令,就可以在本地安装运行 ollama 开源大模型的框架:
curl -fsSL https://ollama.com/install.sh | sh
其他系统在上面的网址中,有对应的安装包。
不论哪种系统,安装的结果,都是在命令行界面内。
具体安装细节,可以参考之前的这一期(160. 搭建本地运行的 chatGPT)。
几个月之后再回看,之前的方法依然有效。
特别提醒下,安装之后,一定要先在 ollama 的配置文件中添加这行:
Environment="OLLAMA_HOST=0.0.0.0"
否则,其它应用可能会找不到 ollama 里的模型。
ubuntu 系统配置文件的位置在 “ /etc/systemd/system/ollama.service”。
上面的这个操作,就是把大模型搬运到了电脑本地,成为本地人工智能的一个引擎,后面的各种用法,都是在调用 ollama 里的模型而已。
具体怎么调用?比如,可以这样 ...
把 ollama 接入 logseq
走到这一步,其实就可以把 ollama 接入 logseq 了。
方法就是之前这一期(184. 插件:ollama-logseq 调用本地大模型)介绍过的插件。
你看,几个月之后再看,把大模型接入 logseq,原来这么简单。
设置插件:
其中的第一项:
localhost:11434
注意,其中的 11434 就是端口,这就是 logseq 在调用 ollama 的一个通道。
接下来看端口 ...
端口是个啥
你可以把端口想象成,是打开系统中另一个世界的窗口,也是一个系统访问另一个系统的通道。
访问端口的方法,就是用 “ip + 端口号”。上面的 localhost 其实就是 ip 地址,是在同一个系统内、自己访问自己的地址。localhost 下面还会出现。
11434 就是端口号,这是ollama 的默认端口号,以后只要看到 11434 就会眼前一亮。
问题来了,电脑有多少个端口?一共有两万多个端口号。
电脑上网,其实就是用自己的电脑,访问其他电脑(网站服务器)的端口,只不过 ip 地址被伪装成了域名,默认的 80端口不显示而已。
桌面之下:docker 的世界
上面提到命令行是一个世界,docker 环境也是一个世界。
windows 安装 docker 的方法,网上有详细教程。
我用的是这个下面网址里的步骤,一条一条落实:
https://www.fosstechnix.com/how-to-install-docker-on-ubuntu-24-04-lts/
之后,再添加这样两条,一是授权 docker,不用每次都 sudo;二是如果 docker 源不可用时,可以走国内的阿里云的镜像源。
sudo usermod -a -G docker $USER
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
有这么多命令?
这么些命令,都要记住吗?不需要啊,网上到处都有,但是哪条好用、哪条没用,这个过程需要摸索。
有时,一条命令在一个系统里有用,换个系统就不好用,原因有时很复杂。
只要好用的命令、代码,就要保存下来。
说到保存,我们不是有那个 logseq 嘛,所有好用的代码,都能记下来。
安装 open webui
经过几个月的沉淀,现在再回看的 open webui,就会很简单。
就这一条:
docker run -d -p 4000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main
上面这条有两点需要注意:
一是,更换为国内的镜像源。
二是,本地端口号设置为 4000,一共两万多个端口,就先找顺口的来呗。
一个端口,只能对应一个应用(服务),你可以想象成过去古代皇帝的避讳,只要有人用了这个端口(名号),别人就不能再用了。
因为走的是国内源,速度很快,几分钟就能下载、安装好。
还是那句话,一条命令,就能创造一个世界。
访问 open webui
经过上面的说明,这下就知道了,只要是端口,就可以在浏览器上,用 ip + 端口号的方法访问。
目前为止,我本地一共用了这样三个端口:
  • 8081:calibre
  • 11434:ollama
  • 4000:open webui
上面提到过,凡是自己访问自己,ip 地址就要用 localhost。
于是,在浏览器里输入 localhost:4000,就可以访问:
初次访问时,需要设置一下账户,方法和上面提到的 160期一样。
新版 open webui 和旧版有区别,管理模型的界面好像是没了。添加、删除模型,要在命令行里运行 ollama run +、ollama rm + 。
不过,最感兴趣的是最新版 ollama3.2-vision,也就是上面截图里的模型,据说可以识别图片,现在试一下 ...
识别图片
ollama3.2-vision 有两版本,一个是 7.9G、一个是 55G,这下就不用纠结了,果断下 7.9G的 11b 版本。
使用效果是这样的,果然可以识别:
而且它观察的眼光还是很仔细的,一般对键盘不了解的人,可能都说不出关于机械键盘里的这么多学问。
不过,中文识别能力貌似不是很好:
稍微总结一下
我们平时用到的,是电脑操作系统中的桌面,这属于一个系统的表层。
然而,在表层之下,还有更多的层次。
而且,很多厉害的功能,都不在表层,而在表层之下 ...

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/176533
 
192 次点击