Ollama初步使用

一、Ollama 安装

1.1 不同系统的安装包

1.1.1 macOS 安装Ollama

  • 下载macos 系统安装包
    https://ollama.com/download/Ollama-darwin.zip

  • 安装Ollama
    等待浏览器下载文件 Ollama-darwin.zip,完成后双击该文件解压,双击解压后文件,直接安装即可

  • 运行 Ollama

终端命令启动

ollama run deepseek-r1:7b
  • 安装 Enchanted

Enchanted 是一款开源、兼容 Ollama 的优雅 macOS/iOS/visionOS 应用程序,是一款可以连接私人模型的 ChatGPT 应用程序 UI。可以在 Enchanted 点击 App Store 进行下载。

1.1.2 Windows 安装Ollama

  • 下载windows 系统安装包
    https://ollama.com/download/OllamaSetup.exe

  • 安装Ollama
    等待浏览器下载文件 OllamaSetup.exe,完成后双击该文件,出现如下弹窗,点击 Install 等待下载完成即可。

  • 运行Ollama

ollama serve

1.2 linux系统安装方式

1.2.1 脚本安装

curl -fsSL https://ollama.com/install.sh | sh

1.2.2 手动安装

注:如果我们从以前的版本升级,我们应该sudo rm -rf /usr/lib/ollama先删除旧的库。

  • 下载并解压软件包:
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
  • 启动 Ollama:
ollama serve
  • 在另一个终端中,验证 Ollama 是否正在运行:
ollama -v
  • AMD GPU 安装

如果我们有 AMD GPU,还请下载并提取附加的 ROCm 包:

curl -L https://ollama.com/download/ollama-linux-amd64-rocm.tgz -o ollama-linux-amd64-rocm.tgz
sudo tar -C /usr -xzf ollama-linux-amd64-rocm.tgz
  • ARM64 安装

下载并解压 ARM64 专用软件包:

curl -L https://ollama.com/download/ollama-linux-arm64.tgz -o ollama-linux-arm64.tgz
sudo tar -C /usr -xzf ollama-linux-arm64.tgz
  • 添加 Ollama 作为启动服务(推荐)

为 Ollama 创建用户和组:

sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)
  • 在以下位置创建服务文件/etc/systemd/system/ollama.service:
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"

[Install]
WantedBy=default.target
  • 启动服务:
sudo systemctl daemon-reload
sudo systemctl enable ollama

1.2.3 Ollama更新

通过再次运行安装脚本来更新 Ollama:

curl -fsSL https://ollama.com/install.sh | sh

或者重新下载 Ollama:

curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz

1.2.4 安装Ollama特定版本

使用安装脚本中的环境变量来安装特定版本的 Ollama,包括预发布版本。我们可以在发布页面 OLLAMA_VERSION中找到版本号。

例如:

curl -fsSL https://ollama.com/install.sh | OLLAMA_VERSION=0.5.7 sh

1.2.5 卸载Ollama服务

删除 ollama 服务:

sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service

从 bin 目录中删除 ollama 二进制文件(/usr/local/bin、/usr/bin或/bin):

sudo rm $(which ollama)

删除下载的模型和 Ollama 服务用户和组:

sudo rm -r /usr/share/ollama
sudo userdel ollama
sudo groupdel ollama

删除已安装的库:

sudo rm -rf /usr/local/lib/ollama

1.3 docker 安装Ollama

  • 下载镜像
# CPU 或者 Nvidia GPU 
docker pull ollama/ollama

# AMD GPU
docker pull ollama/ollama:rocm

如果我们想要使用具体的版本的镜像,明确运行环境,可以使用下面的指令:

# CPU 或 Nvidia GPU下载ollama 0.5.0
docker pull ollama/ollama:0.5.0
# AMD GPU下载ollama 0.5.0
docker pull ollama/ollama:0.5.0-rocm
  • 运行ollama镜像
docker run -d -v /opt/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
  • 如果需要在宿主机调用容器,运行模型
docker exec -it ollama ollama run llama3

二、Ollama 自定义导入模型

2.1 从 GGUF 导入

GGUF (GPT-Generated Unified Format) 是一种文件格式,用于保存经过微调的语言模型。这种格式旨在帮助用户方便地在不同的平台和环境之间共享和导入模型。它支持多种量化格式,可以有效减少模型文件的大小。

它的前身是 GGML(GPT-Generated Model Language),是专门为了机器学习而设计的 Tensor 库,目的是为了有一个单文件的格式,并且易在不同架构的 CPU 以及 GPU 上可以推理,但后续由于开发遇到了灵活性不足、相容性及难以维护的问题。

Ollama 支持从 GGUF 文件导入模型,通过以下步骤来实现:

  1. 下载 .gguf 文件
    下载链接:https://huggingface.co/RichardErkhov/Qwen_-_Qwen2-0.5B-gguf/resolve/main/Qwen2-0.5B.Q3_K_M.gguf?download=true

为了演示的方便,我们选用了 Qwen2-0.5B 模型。下载后复制到第一部分的根目录下

  1. 新建创建 Modelfile 文件
FROM ./Qwen2-0.5B.Q3_K_M.gguf
  1. 在 Ollama 中创建模型
ollama create mymodel -f Modelfile
  1. 终端内运行模型(实测在 notebook 中运行不出来,最好在终端运行)
ollama run mymodel

2.2 从 Pytorch 或 Safetensors 导入

Safetensors 是一种用于存储深度学习模型权重的文件格式,它旨在解决安全性、效率和易用性方面的问题。目前这部分功能还有待社区成员开发,目前文档资源有限。

如果正在导入的模型是以下架构之一,则可以通过 Modelfile 直接导入 Ollama。当然,你也可以将 safetensors 文件转换为 gguf 文件,再进行处理,转换过程可以参考第三部分。

有关 safetensors 以及 GGUF 更详细的信息可以参考这个链接进行学习 https://www.linkedin.com/pulse/llama-3-safetensors-vs-gguf-talles-carvalho-jjcqf

  • LlamaForCausalLM
  • MistralForCausalLM
  • GemmaForCausalLM
    由于这部分内容社区还在不断优化中,因此,这里提供的示例代码和流程仅供参考,并不保证能成功运行。详情请参考官方文档。
  1. 下载 llama-3 模型
!pip install huggingface_hub
# 下载模型
from huggingface_hub import snapshot_download

model_id = "unsloth/llama-3-8b-bnb-4bit"
snapshot_download(
  repo_id=model_id, 
  local_dir="llama-3-8b-bnb-4bit",
  local_dir_use_symlinks=False,
  revision="main",
  # 怎么获取<YOUR_ACCESS_TOKEN>,请参照部分3
  use_auth_token="<YOUR_ACCESS_TOKEN>")
  1. 根目录下创建 Modelfile 文件,内容如下:
FROM ./llama-3-8b-bnb-4bit
  1. 在 Ollama 中创建模型
ollama create mymodel2 -f Modelfile
  1. 运行模型
ollama run mymodel2

三、Ollama指令使用

  • 运行模型
ollama run           
  • 创建模型

ollama create用于从 Modelfile 创建模型。

ollama create mymodel -f ./Modelfile
  • 拉取模型
ollama pull llama3.2

此命令还可用于更新本地模型。仅会提取差异。

  • 删除模型
ollama rm llama3.2
  • 复制模型
ollama cp llama3.2 my-model
  • 多行输入

对于多行输入,你可以使用以下方式换行"“”:

>>> """Hello,
... world!
... """
I'm a basic program that prints the famous "Hello, world!" message to the console.
  • 多模态模型
ollama run llava "What's in this image? /Users/jmorgan/Desktop/smile.png"

输出:图像中有一个黄色的笑脸,这可能是图片的中心焦点。

  • 将提示作为参数传递
ollama run llama3.2 "Summarize this file: $(cat README.md)"

输出:Ollama 是一个轻量级、可扩展的框架,用于在本地机器上构建和运行语言模型。它提供了用于创建、运行和管理模型的简单 API,以及可在各种应用程序中轻松使用的预构建模型库。

  • 显示模型信息
ollama show qwen2:0.5b
  • 列出计算机上的模型
ollama list
  • 列出当前加载的模型
ollama ps
  • 停止当前正在运行的模型
ollama stop llama3.2
  • 启动 Ollama
ollama serve

当我们想启动 ollama 而不运行桌面应用程序时使用。

猜你喜欢

转载自blog.csdn.net/cljdsc/article/details/145548954
今日推荐