Ollama
一个通过 GoLang 实现的本地运行工具,支持多种模型,部分都只需要少量的资源开销,可以参考 GitHub 中的介绍,根据自己的机器选择对应的模型。
安装时只需要一个二进制文件即可,如下以手动方式安装。
----- 下载并解压到 /usr ,包含了 bin 和 lib 目录
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
tar -C /usr -xzf ollama-linux-amd64.tgz
安装文件本身比较大,主要是因为对 CUDA、ROCm 的支持,单纯 CPU 的比较小,然后通过如下方式运行。
----- 也可以通过 systemd 运行
ollama serve
ollama run gemma2:2b
上述需要联网,如下介绍如何离线安装模型。
安装模型
从 Hugging Face 下载 GGUF 对应的模型,例如 Qwen2.5-0.5B-Instruct-GGUF 模型,注意,有些模型下载前需要签署相关协议之后才可以下载,否则会报错。
接着需要准备 Modelfile 文件,可以针对官网的内容进行整理,核心参数有:
FROM
引入指定的模型。TEMPLATE
提示词模板。PARAMETER
运行参数。
示例如下。
FROM ./qwen2.5-0.5b-instruct-q4_k_m.gguf
TEMPLATE """
... ...
"""
PARAMETER "<|im_start|>"
PARAMETER "<|im_end|>"
如下是常用的命令。
----- 导入模型
ollama create qwen2 -f qwen2.model
----- 查看当前的模型,包括参数信息
ollama ls
ollama list
ollama show
----- 运行某个模型
ollama run qwen2
----- 删除不需要的模型
ollama rm qwen2
默认只监听本地 IP 地址,可以通过 OLLAMA_HOST=0.0.0.0
监听主机所有 IP 地址,监听端口默认是 11434
,界面可以使用 OpenWebUI 。
源码解析
ollama 是对 llama.cpp 不错的封装,后者基于 ggml 的 Tensor 库支持,可以在不同平台上原生运行。