Ollama 如何安装与迁移至其他磁盘驱动器

随着大型语言模型(LLM)的普及,Ollama 提供了一个便捷的本地运行模型的方式。然而,模型的体积通常非常庞大,默认安装位置(通常是系统盘)可能会迅速耗尽空间,特别是在系统盘容量有限的情况下。因此,了解如何将 Ollama 的安装或模型存储位置转移到其他磁盘驱动器变得非常重要。

为什么需要将 Ollama 安装到其他盘?

将 Ollama(特别是其模型文件)安装或迁移到其他盘的主要原因通常是存储空间限制。默认情况下,Ollama 会将模型下载并存储在系统盘的特定用户目录下。一块具有 7B 参数的模型可能占用 4-5 GB 空间,而 70B 参数的模型可能占用高达 40 GB 或更多。如果您计划使用多个大型模型,系统盘的可用空间很快就会捉襟见肘。

除了空间原因,将模型存储在单独的数据盘上还有其他好处:

  • 系统盘整洁: 保持系统盘主要用于操作系统和应用程序,有助于提升系统整体性能和稳定性。
  • 便于备份和管理: 将所有模型集中存放在一个数据盘上,便于统一管理、备份或在重装系统后恢复。
  • 利用更大、更快的驱动器: 您可能拥有一个比系统盘更大或更快的固态硬盘(SSD)或机械硬盘(HDD),希望利用其优势来存放模型。

Ollama 的哪些部分会被移动?

理解 Ollama 的组成部分有助于我们决定哪些可以移动:

  • Ollama 程序文件: 这是 Ollama 服务的核心可执行文件和依赖库。这部分文件通常体积不大,默认安装时可能会放在程序文件目录或用户AppData(Windows)等位置。通常不建议或不容易将这部分文件完全移动,因为它与操作系统紧密集成。
  • 模型文件: 这是占用空间最大的部分。Ollama 下载的所有模型(例如 llama2, mistral, codellama 等)都以特定的格式存储在文件系统中。这部分是用户最希望转移到其他盘的。
  • 配置文件和数据: 可能包含一些用户偏好、日志或其他小体积数据。这部分通常也不大,且与程序文件关联,一般不单独移动。

因此,我们将 Ollama 安装到其他盘的核心操作,通常指的是修改 Ollama 查找和存储模型的默认位置,使其指向其他磁盘上的目录。

如何在不同的操作系统上将 Ollama 模型存储到其他盘?

Ollama 提供了一个标准的方式来指定模型的存储位置,即通过设置一个名为 OLLAMA_MODELS 的环境变量。这个环境变量告诉 Ollama 应该去哪里寻找和存放模型文件。无论您使用 Windows、macOS 还是 Linux,核心原理都是设置这个环境变量,但设置方法因操作系统的不同而有所区别。

Windows 系统

在 Windows 上,您可以设置系统环境变量或用户环境变量来改变 Ollama 模型的存储位置。推荐设置为用户环境变量。

默认的模型存储位置通常在 C:\Users\您的用户名\.ollama\models

操作步骤:

  1. 选择新的模型存储目录: 在您希望存放模型的其他盘上创建一个新的文件夹,例如 D:\OllamaModelsE:\AI\Ollama。确保这个目录是空的,或者您已经将原有模型的目录内容移动到了这里(见后续步骤)。
  2. 打开系统环境变量设置:
    • 右键点击“此电脑”(或“计算机”)图标,选择“属性”。
    • 点击左侧的“高级系统设置”。
    • 在弹出的“系统属性”窗口中,点击右下角的“环境变量”按钮。
  3. 添加或编辑 OLLAMA_MODELS 环境变量:
    • 在“用户变量”区域(上面的列表),点击“新建…”按钮。
    • 在弹出的“新建用户变量”窗口中:
      • 变量名填写:OLLAMA_MODELS
      • 变量值填写:您在步骤1中创建的新目录的完整路径,例如 D:\OllamaModels
    • 点击“确定”关闭新建变量窗口。
    • 点击“确定”关闭环境变量窗口。
    • 点击“确定”关闭系统属性窗口。
  4. 应用设置并重启 Ollama 服务:
    • 为了确保环境变量生效,通常需要注销并重新登录 Windows 用户,或者直接重启计算机。
    • 如果 Ollama 服务正在运行,需要停止并重新启动它。您可以在任务管理器中找到 Ollama 相关的进程结束掉,然后重新打开 Ollama 应用程序,或者通过服务管理器重启 Ollama 服务。
  5. 验证: 打开命令提示符或 PowerShell,运行 ollama list。Ollama 应该能正确列出您新目录中的模型(如果之前已移动),并且之后下载的新模型会存放在新目录中。您也可以尝试运行一个模型,例如 ollama run llama2,观察下载过程是否发生在新的目录下。

如果 Ollama 已经下载了模型,如何迁移?

在设置好 OLLAMA_MODELS 环境变量并重启 Ollama 服务之前,您需要将旧的模型目录内容移动到新目录。默认位置通常是 C:\Users\您的用户名\.ollama\models

  1. 先停止 Ollama 服务(通过任务管理器或服务管理器)。
  2. C:\Users\您的用户名\.ollama\models 目录下的所有内容(子文件夹和文件)复制或移动到您在步骤1中创建的新目录(例如 D:\OllamaModels)。使用“移动”操作可以节省空间,但复制更安全,完成后再删除原目录。
  3. 确认内容已成功移动或复制。
  4. 继续上面的步骤 3-5 设置环境变量并重启 Ollama 服务。
  5. 验证 Ollama 是否能在新位置找到模型。如果一切正常,并且您是复制而不是移动,可以删除旧的 C:\Users\您的用户名\.ollama\models 目录以释放空间。

macOS 系统

在 macOS 上,您通常通过修改 shell 配置文件(如 ~/.zshrc~/.bash_profile)来设置环境变量。

默认的模型存储位置通常在 /Users/您的用户名/.ollama/models

操作步骤:

  1. 选择新的模型存储目录: 在您希望存放模型的其他盘或分区上创建一个新的文件夹。例如,如果您的外接硬盘挂载在 /Volumes/DataDrive,您可以创建 /Volumes/DataDrive/OllamaModels
  2. 编辑您的 shell 配置文件: 打开终端应用程序。根据您使用的 shell(macOS Catalina及更新版本默认使用 zsh,旧版本使用 bash),编辑对应的文件。
    • 对于 zsh 用户:运行 nano ~/.zshrcopen ~/.zshrc
    • 对于 bash 用户:运行 nano ~/.bash_profile or open ~/.bash_profile

    (如果您不确定使用哪个,可以尝试编辑 .zshrc,如果不存在则创建;如果使用的是 bash,则编辑 .bash_profile)。

  3. 添加 OLLAMA_MODELS 环境变量:

    在文件末尾添加一行:

    export OLLAMA_MODELS="/路径/到/您的/新目录"

    例如:

    export OLLAMA_MODELS="/Volumes/DataDrive/OllamaModels"

    保存并关闭文件(在 nano 中按 Ctrl+X,然后按 Y 确认保存)。

  4. 使环境变量生效: 在终端中运行以下命令,或者关闭并重新打开终端窗口:
    • 对于 zsh 用户:source ~/.zshrc
    • 对于 bash 用户:source ~/.bash_profile
  5. 重启 Ollama 服务: 确保 Ollama 服务已停止并重新启动。您可以通过活动监视器退出 Ollama 应用程序,然后重新启动它。
  6. 验证: 在终端中运行 ollama list 或尝试下载/运行模型,确认模型文件存放在新的目录中。

如果 Ollama 已经下载了模型,如何迁移?

在设置好 OLLAMA_MODELS 环境变量并重启 Ollama 服务之前,您需要将旧的模型目录内容移动到新目录。默认位置通常是 /Users/您的用户名/.ollama/models

  1. 先停止 Ollama 服务。
  2. 打开终端,使用 mv 命令将旧的模型目录移动到新位置。例如:

    mv /Users/您的用户名/.ollama/models /Volumes/DataDrive/OllamaModels

    请将路径替换为您的实际路径。如果新目录已经存在且不为空,您可能需要先清空它或使用更复杂的命令。

    或者,如果您想保留旧目录作为备份(不推荐,因为会占用双倍空间),可以使用 cp -R 命令复制,完成后再手动删除旧目录。

  3. 确认内容已成功移动。
  4. 继续上面的步骤 3-6 设置环境变量并重启 Ollama 服务。
  5. 验证 Ollama 是否能在新位置找到模型。

Linux 系统

在 Linux 上,设置环境变量的方法与 macOS 类似,通常也是修改 shell 配置文件或使用系统级的环境变量文件。

默认的模型存储位置通常在 /home/您的用户名/.ollama/models

操作步骤:

  1. 选择新的模型存储目录: 在您希望存放模型的其他挂载点(分区)上创建一个新的文件夹,例如 /mnt/datapartition/ollamamodels
  2. 设置 OLLAMA_MODELS 环境变量:
    • 用户级别(推荐,仅对当前用户生效): 编辑您的 shell 配置文件 (如 ~/.bashrc, ~/.zshrc)。

      nano ~/.bashrc

      在文件末尾添加一行:

      export OLLAMA_MODELS="/路径/到/您的/新目录"

      保存并关闭文件。然后在终端中运行 source ~/.bashrc 或关闭并重新打开终端。

    • 系统级别(对所有用户生效): 编辑 /etc/environment 文件(需要 root 权限)。

      sudo nano /etc/environment

      添加一行(注意格式,没有 export 和引号):

      OLLAMA_MODELS="/路径/到/您的/新目录"

      保存并关闭文件。然后需要重启系统才能使之生效。

  3. 重启 Ollama 服务: 如果 Ollama 作为系统服务运行,通常需要重启服务。例如:

    sudo systemctl restart ollama

    如果 Ollama 是手动启动的,关闭进程后重新启动。

  4. 验证: 在终端中运行 ollama list 或尝试下载/运行模型,确认模型文件存放在新的目录中。

如果 Ollama 已经下载了模型,如何迁移?

在设置好 OLLAMA_MODELS 环境变量并重启 Ollama 服务之前,您需要将旧的模型目录内容移动到新目录。默认位置通常是 /home/您的用户名/.ollama/models

  1. 先停止 Ollama 服务。
  2. 打开终端,使用 mv 命令将旧的模型目录移动到新位置。例如:

    mv /home/您的用户名/.ollama/models /mnt/datapartition/ollamamodels

    请将路径替换为您的实际路径。注意目录的权限,确保 Ollama 服务运行用户对新目录有读写权限。

  3. 确认内容已成功移动。
  4. 继续上面的步骤 2-4 设置环境变量并重启 Ollama 服务。
  5. 验证 Ollama 是否能在新位置找到模型。

重要提示: 在执行移动或复制操作前,强烈建议先停止 Ollama 服务,以避免文件正在被使用导致错误。确保新目录有足够的空间,并且 Ollama 服务运行用户(通常是当前用户,但作为系统服务时可能是特定用户)对新目录有写入权限。

将 Ollama 模型移动到其他盘需要多少空间?

如前所述,Ollama 程序本身占用的空间很小,通常只有几百 MB。但模型的空间需求非常大,并且取决于您下载的具体模型和数量。

以下是一些常见模型的近似大小:

  • Llama 2 7B (quantized): ~4 GB
  • Mistral 7B (quantized): ~4 GB
  • Code Llama 7B (quantized): ~4 GB
  • Llama 2 13B (quantized): ~7-8 GB
  • Llama 2 70B (quantized): ~40 GB
  • Phi-2 (quantized): ~2 GB

请注意,这些是量化(quantized)模型的尺寸,非量化模型会更大。您可以在 Ollama 的模型库页面或通过 ollama list 命令查看已下载模型的具体大小。

因此,您需要为新目录所在的磁盘准备足够的空间,这取决于您打算下载多少个模型以及它们的尺寸。如果您计划尝试多个模型,建议至少准备几十 GB 到上百 GB 的空间。例如,如果您想同时使用 Llama 2 70B、Mistral 7B 和 Code Llama 7B,您需要 40 + 4 + 4 = 48 GB 以上的空间。

将 Ollama 模型移动到其他盘后如何维护?

将 Ollama 模型位置转移到其他盘后,日常维护通常不会变得更复杂。主要需要注意以下几点:

  • 模型更新: 当您运行 ollama pull model_name 更新模型时,Ollama 会自动将新版本下载到您设置的 OLLAMA_MODELS 目录下,并覆盖旧版本(或存储为新版本,取决于 Ollama 的内部机制)。这个过程是自动的,不需要特殊操作。
  • 模型删除: 使用 ollama rm model_name 命令删除模型时,Ollama 会从您设置的 OLLAMA_MODELS 目录中删除对应的模型文件。
  • Ollama 程序更新: Ollama 应用程序本身的更新通常不会影响模型文件的位置。更新安装程序会替换 Ollama 的核心程序文件,但模型仍然会在 OLLAMA_MODELS 指定的目录下查找。通常情况下,直接运行新版本的安装程序即可完成更新,它会保留您的环境变量设置。
  • 备份: 如果您想备份模型,只需复制 OLLAMA_MODELS 指定目录下的所有文件和文件夹即可。
  • 迁移回默认位置或再次迁移: 如果您想将来把模型移回默认位置或迁移到其他新的位置,可以重复上述步骤:
    1. 停止 Ollama 服务。
    2. 将当前模型目录的内容移动到新的目标目录(无论是默认位置还是其他自定义位置)。
    3. 修改或删除 OLLAMA_MODELS 环境变量(删除该变量后,Ollama 会使用默认位置)。
    4. 重启 Ollama 服务。
  • 磁盘空间监控: 定期检查存放模型的磁盘空间的剩余情况,避免空间耗尽影响 Ollama 的正常使用或模型下载。

总之,通过设置 OLLAMA_MODELS 环境变量是一种标准且有效的方式,可以将 Ollama 模型存储从默认的系统盘位置转移到其他磁盘。这个操作相对直接,但在不同操作系统上设置环境变量的具体步骤有所差异。一旦设置完成,日常使用和维护通常不会受到太大影响。


ollama怎么安装到其他盘

By admin

发表回复