在macOS上,Ollama的默认目录结构如下:
默认目录结构
-
主目录:
~/.ollama
-
模型文件夹:
~/.ollama/models
,用于存储下载的模型。
-
-
配置文件:
~/Library/Application Support/Ollama
,用于存储Ollama的配置信息。
修改模型存储路径
如果希望更改模型的存储路径,可以通过设置环境变量OLLAMA_MODELS
来实现。以下是具体步骤:
创建新的模型存储目录: 打开终端,创建一个新的目录作为模型存储路径。例如:
mkdir -p /Volumes/MyDrive/AIModels/Ollama
设置环境变量
-
确认当前使用的Shell类型。运行以下命令:
echo $SHELL
如果输出是
/bin/zsh
,则你使用的是zsh;如果是/bin/bash
,则使用的是bash。 -
根据Shell类型,编辑对应的配置文件。对于zsh,编辑
~/.zshrc
;对于bash,编辑~/.bashrc
或~/.bash_profile
。在配置文件中添加以下内容:export OLLAMA_MODELS=/Volumes/MyDrive/AIModels/Ollama
-
保存文件后,运行以下命令使配置生效:
source ~/.zshrc # 或 source ~/.bashrc
验证更改
-
输入以下命令检查环境变量是否设置成功:
echo $OLLAMA_MODELS
如果输出是设置的路径,则说明环境变量设置成功。
迁移现有模型(可选)
如果当前已经下载了一些模型,可以将它们迁移到新的路径:
mv ~/.ollama/models/* /Volumes/MyDrive/AIModels/Ollama/
然后创建一个软链接:
ln -s /Volumes/MyDrive/AIModels/Ollama/ ~/.ollama
重启Ollama服务
重启Ollama服务以使更改生效。
./ollama下各文件说明
在 macOS 系统中,Ollama 默认会将相关文件存储在用户主目录下的隐藏文件夹 ~/.ollama
中。以下是该目录下常见文件及子目录的说明:
models
目录
-
作用:存储所有下载的模型文件(如 GGUF、GGML 格式)。
-
内容:
-
每个模型可能有独立的子目录(如
llama3
、mistral
),包含模型文件(如.bin
或.gguf
)和元数据(如modelfile.txt
)。 -
可能包含模型的多个版本(如不同量化级别)。
-
config.json
-
作用:保存用户自定义配置。
-
常见配置项:
-
默认使用的模型(
default_model
)。 -
服务器监听的地址和端口(如
127.0.0.1:11434
)。 -
代理设置或网络相关参数。
-
logs
目录
-
作用:存储运行日志,用于排查问题。
-
常见文件:
-
ollama.log
:常规运行日志。 -
error.log
:错误日志(如果有严重问题)。
-
tmp
或 cache
目录(可能不存在)
-
作用:临时文件或缓存,用于加速模型加载或处理下载中的中间文件。
-
注意:自动清理机制可能存在,不建议手动修改。
bin
目录(可能不存在)
-
作用:存放 Ollama 依赖的二进制文件(如某些系统级工具或动态库)。
-
典型内容:可执行文件或与硬件加速相关的依赖(如 Metal 支持库)。
sessions
目录(可能不存在)
-
作用:如果支持会话持久化,可能存储用户的交互会话数据(如聊天历史)。
其他可能存在的文件
-
.version
:记录当前 Ollama 的版本信息。 -
system
目录:存放与系统运行时相关的文件(如 GPU 驱动兼容层)。
注意事项:
1)路径访问
需在终端使用 ls -la ~/.ollama
查看隐藏目录。
2)文件操作:
-
不要随意删除
models
目录下的文件,否则需重新下载模型。 -
修改
config.json
前建议备份。
3)日志排查:
-
遇到问题时,可通过
tail -f ~/.ollama/logs/ollama.log
实时查看日志。
4)版本差异:
-
不同 Ollama 版本目录结构可能略有不同。
~/.ollama/models
目录结构说明
在macOS上,~/.ollama/models
目录是Ollama默认用于存储下载的模型文件的位置。
目录说明
1)blobs
子目录
该目录存储了模型的二进制文件(blobs)。这些文件是模型的实际数据,通常以哈希值命名,例如 sha256-<hash>
。
2)manifests
子目录
该目录存储了模型的元数据文件(manifests)。这些文件包含了模型的描述信息,如模型的版本、依赖关系等。
3)其他子目录
如果使用了自定义的模型或通过 ollama create
命令创建了新的模型,可能会在 models
目录下看到以模型名称命名的子目录。这些子目录中包含了该模型的相关文件。
示例目录结构
~/.ollama/models/
├── blobs/
│ ├── sha256-<hash1>
│ ├── sha256-<hash2>
│ └── ...
├── manifests/
│ ├── <model_name1>.json
│ ├── <model_name2>.json
│ └── ...
└── <custom_model_name>/
├── Modelfile
├── config.json
└── ...
修改模型存储路径
如果希望更改模型的存储路径,可以通过设置环境变量 OLLAMA_MODELS
来实现。以下是具体步骤:
创建新的模型存储目录
打开终端,创建一个新的目录作为模型存储路径。例如:
mkdir -p /Volumes/MyDrive/AIModels/Ollama
设置环境变量:
确认当前使用的Shell类型。运行以下命令:
echo $SHELL
-
如果输出是
/bin/zsh
,则你使用的是zsh;如果是/bin/bash
,则使用的是bash。 -
根据Shell类型,编辑对应的配置文件。对于zsh,编辑
~/.zshrc
;对于bash,编辑~/.bashrc
或~/.bash_profile
。
在配置文件中添加以下内容:
export OLLAMA_MODELS=/Volumes/MyDrive/AIModels/Ollama
保存文件后,运行以下命令使配置生效。
source ~/.zshrc # 或 source ~/.bashrc
验证更改
输入以下命令检查环境变量是否设置成功。
echo $OLLAMA_MODELS
如果输出是设置的路径,则说明环境变量设置成功。
迁移现有模型(可选)
如果当前已经下载了一些模型,可以将它们迁移到新的路径:
mv ~/.ollama/models/* /Volumes/MyDrive/AIModels/Ollama/
然后创建一个软链接:
ln -s /Volumes/MyDrive/AIModels/Ollama/ ~/.ollama
重启Ollama服务。
重启Ollama服务以使更改生效。
通过以上步骤,可以将Ollama的模型存储路径更改为你指定的目录。请确保新的存储目录具有足够的存储空间,并且你对该目录具有读写权限。