公司内网部署大模型的探索之路

使用场景

公司的办公环境是内网,不和互联网相连(保密单位,别问为啥这样),要更新个项目依赖啥的,很麻烦,要使用U盘来回拷贝文件,这是前提,我现在要在内网环境部署大模型,也是一波三折,以下是我的探索之路

  1. 在外网使用docker 运行 ollama 镜像,由于我本地电脑是mac电脑,服务是linux,因为是要把容器导出为镜像文件拿到内网使用,所以拉取镜像的时候要指定宿主机架构,不然的话,导出的镜像文件在服务器无法运行
bash 复制代码
docker pull --flatform=linux/amd64 ollama/ollama:latest
css 复制代码
docker run -d --name ollama-test -p 11434:11434 ollama/ollama:latest
  1. 运行一个ollama容器,然后进入到该容器内部,用ollama指令安装指定大模型
arduino 复制代码
docker exec -it ollama-test bash
//这里以deepseek-r1:1.5b 为例子
ollama run deepseek-r1:1.5b
  1. 这时候是可以在本机使用chatbox链接使用容器内的大模型的,具体步骤不在这里细说

4. 把运行中的容器提交为本地镜像,这样你的镜像里就带上了你安装的大模型

arduino 复制代码
docker commit xxx yyy:latest
// xxx 为容器名或者id yyy:latest 是你自定义的镜像名和版本号
  1. 把本地自定义镜像导出为镜像文件
xml 复制代码
docker save -o <filename>.tar <image_name>
  1. 把镜像文件拷到内网,使用docker加载你的镜像文件,前提条件是内网必须有docker环境
css 复制代码
docker load -i /path/to/your/image.tar

到此为止,你的内网就有携带大模型的ollama镜像了,你把容器运行起来,你再把chatbox安装包也拷到内网,就可以愉快的玩耍了

如何新增其他大模型到内网

现在的大模型有很多,功能各不相同,你可以多安装几个大模型,再导出镜像文件,拿到内网使用,安装了大模型的镜像文件会很大,我也就安装了上图的几个小模型,文件的体积就已经达到了30G以上,但是这不失为一种笨方法。大力出奇迹,但是作为一个程序员,我们总是要探索更省时省力的办法,以下是我个人探索的方法。

  1. 重新运行一个空白的ollama容器,把你要新增的大模型安装上
  2. 使用docker cp指令把容器内的模型文件拷贝出来,拿到内网,放到指定的位置即可,主要有两类文件需要拷贝,模型配置文件和模型数据文件,这两类文件的目录分别是
ruby 复制代码
// 模型数据文件在 /root/.ollama/models/blobs
docker cp bff31133b939:/root/.ollama/models/blobs/. ./blobs
// 我这个指令的意思是 把 容器内的数据文件拷贝到 本机的当前目录的blobs文件夹下,你也可以使用绝对路径
docker cp bff31133b939:/root/.ollama/models/manifests/registry.ollama.ai/library/. ./
// 这个指令的意思是把这个模型的配置文件拷贝当当前目录下,你也可以使用绝对路径

以下是我拷贝出来的deepseek-r1:8b的配置文件和数据文件截图

  1. 把这两个文件拷贝到内网,放到以前的容器里对应的目录下,这样你内网的容器就新增了你这次导入的模型

疑问:有些老司机看到这里就郁闷了,运行容器时候直接用数据卷功能,把容器内的目录挂载出来,这样就不用进入到容器内拷贝文件了,哈哈哈哈哈 皮裤套棉裤!必定有缘故,我刚开始也是这样想的,但是我试了好多次,运行容器时使用数据卷功能根本就运行不了,大致原因是我用的是mac电脑,是arm64架构,我使用的容器是amd64架构,它两的文件系统不兼容,无法直接使用数据卷功能,到这里有小伙伴找到更好的办法了一定要教教我,感谢!

相关推荐
jingling5552 小时前
css进阶 | 实现罐子中的水流搅拌效果
前端·css
空中楼阁,梦幻泡影2 小时前
LoRA 详细解析,使用LoRA 方式对模型进行微调详细操作指南
运维·服务器·人工智能·机器学习·语言模型
AI即插即用2 小时前
即插即用系列(代码实践)专栏介绍
开发语言·人工智能·深度学习·计算机视觉
Keep__Fighting2 小时前
【神经网络的训练策略选取】
人工智能·深度学习·神经网络·算法
晚风吹长发2 小时前
初步了解Linux中的动静态库及其制作和使用
linux·运维·服务器·数据结构·c++·后端·算法
抠头专注python环境配置2 小时前
解决Windows安装PythonOCC报错:从“No module named ‘OCC’ ”到一键成功
人工智能·windows·python·3d·cad·pythonocc
2501_941322032 小时前
计算机视觉实现火灾与烟雾实时监测系统
人工智能·计算机视觉
xiaobaishuoAI2 小时前
分布式事务实战(Seata 版):解决分布式系统数据一致性问题(含代码教学)
大数据·人工智能·分布式·深度学习·wpf·geo
2501_942191772 小时前
【深度学习实战】数字仪表字符识别项目详解——基于YOLO11-HAFB-2模型的优化实现
人工智能·深度学习
Bruce-XIAO2 小时前
数据标注方法
人工智能·nlp