[RK3576] Ollama模型部署
整体思路:x86 Ubuntu 虚拟机安装 Ollama 并下载模型 → 通过 NFS 共享迁移至 ARM64 麒麟开发板 → 实现本地大模型调用。
这么操作的原因:开发板下载安装Ollama服务的网速尚可,但是下载模型时网速很慢,经常会出现因为网络波动而停止下载的问题,所以我们使用X86 Ubuntu虚拟机的Ollama结合科学上网来加速模型下载,然后通过NFS文件共享来将模型文件传输到开发板上,通过开发板下载的ollama服务来启用。
X86虚拟机端 Ollama 安装与模型下载
- 执行官方一键安装脚本
1
curl -fsSL https://ollama.com/install.sh | sh
- 下载目标模型(以千问1.5B为例)
1
ollama pull qwen2.5:1.5b
- 验证模型是否下载成功接下来,我们需要找到下载的模型文件,然后将模型文件放在NFS的共享文件夹内;
1
ollama list
此阶段遇到的核心问题
问题1:在共享文件夹/用户目录~/.ollama/找不到模型文件
- 原因:Ollama 以系统服务(systemd/root)运行,模型默认存储在系统目录,而非用户家目录
- 真实模型路径:
/usr/share/ollama/.ollama/models/ - 解决方案:从系统目录拷贝模型,而非用户目录
问题2:模型文件名为哈希乱码,无直观模型名 - 原因:Ollama 采用哈希分片管理模型,
blobs存模型文件、manifests存索引 - 解决方案:无需修改文件名,完整拷贝整个**
.ollama**目录即可识别
模型迁移:x86 → ARM64 开发板(NFS 共享)
x86 虚拟机将系统目录的 Ollama 模型拷贝至 NFS 共享文件夹1
sudo cp -r /usr/share/ollama/.ollama/ /mnt/hgfs/VMshared/ollama/
到开发板上确认能否看到共享的文件,如果看不到models文件夹,可以尝试ctrl + H显示隐藏文件。
ARM64 开发板端:Ollama 部署与模型识别
首先需要下载ollama,直接输入官方的一键在线安装命令:1
curl -fsSL https://ollama.com/install.sh | sh
这个脚本会自动完成:
- 检测系统架构(ARM64/aarch64)
- 下载最新版
ollama-linux-arm64二进制文件 - 安装到
/usr/local/bin/ollama - 配置权限与服务(麒麟系统可能需要手动调整)
但是在我们的麒麟系统下大概率不成功,只会留下一个ollama-linux-arm64二进制文件,我们需要将这个文件拷贝到系统路径中,然后授权运行:1
2sudo cp ollama-linux-arm64 /usr/local/bin/ollama
sudo chmod +x /usr/local/bin/ollama
检查验证一下ollama能否执行;
1 | ollama --version |
启动ollama服务,如果报错listen tcp 127.0.0.1:11434: bind: address already in use,那说明服务已经开启;1
报错`listen tcp 127.0.0.1:11434: bind: address already in use`
将NFS共享文件目录中的模型文件拷贝到开发板的默认路径,这里的路径是我的开发板上的路径,在使用的时候要注意修改。1
2
3mkdir -p /home/kylin/.ollama/models
sudo cp -r /mnt/nfs_share/VMshared/ollama/.ollama/models/* /home/kylin/.ollama/models/
sudo chown -R kylin:kylin /home/kylin/.ollama
接下来,Ollama应该就可以成功读取模型文件了,我们可以直接在命令行里面输入ollama,然后根据提示来选择现在需要的服务。
我们需要选择第一项,然后按方向键右,就可以进入选择模型的页面
